Gentoo Linuxインストールメモ

インストーラーは存在せず、ブートメディアから各コマンドでローカルディスク上にシステムを作っていくことになる。文書を読みながらやればできる。

ちなみにデフォルトのテキストエディタdebianと同じくnano。

インストール

を使いブート。

に従う。

ネットワークの設定
# net-setup eth0

wiredでdhcpを選ぶ。

パーティション設定
# cfdisk

/boot(hda1:128M)とswap(hda2:512M)と/(hda3:残り)を作る。

日付を調整
# date MMDDhhmmYYYY

date 111314362005など。むりやりローカル時間にする。

ファイルシステム作成とマウント
# mkswap /dev/hda2
# mkfs.ext3 /dev/hda1
# tune2fs -c 0 -i 0 /dev/hda1
# mkfs.ext3 /dev/hda3
# tune2fs -c 0 -i 0 /dev/hda3
# swapon /dev/hda2
# mount -t ext3 /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount -t ext3 /dev/hda1 /mnt/gentoo/boot
stageの展開
# cd /mnt/gentoo
# wget http://mirror.gentoo.gr.jp/releases/x86/2005.1/stages/pentium4/stage2-pentium4-2005.1.tar.bz2
# tar jxpvf stage2-x86-2005.1.tar.bz2
# rm stage*.tar.bz2
# chmod 0755 /mnt/gentoo

stage1が基本セット。stage2はbootstrap.sh済み。さらにstage3はemerge system入り。どれかいれればよい。

chrootでローカルシステムに切り替える
# mount -t proc none /mnt/gentoo/proc
# cp /etc/resolv.conf /mnt/gentoo/etc/
# chroot /mnt/gentoo /bin/bash
StableかTestingか

Stableならそのまま、Testingを使うなら/etc/make.confに

ACCEPT_KEYWORDS="~x86"

を追加する。

portageセットアップ
# env-update
# source /etc/profile
# emerge --sync

ダウンロードが終わったあと

# cd /usr/portage
# ./script/bootstrap.sh
# emerge -e system

延々とコンパイルが続く

# etc-update

etcファイルを新しいものに書き換えていく

timezone設定
# ln -sf /usr/share/zoneinfo/Japan /etc/localtime
# nano /etc/conf.d/clock
# date MMDDhhmmYYYY # 強制調整

/etc/conf.d/clockはUTCになっているので

CLOCK="local"

にする。
nanoはCTRL+0 ENTERで保存、CTRL+Xで終了。CTRL+Kでカット、CTRL+Uでペースト。

カーネルインストール
# emerge gentoo-sources
# emerge pciutils
# emerge genkernel
# genkernel all

そのままビルド。ビルド後

# emerge udev
# emerge coldplug
# rc-update add coldplug default
fstab
# nano /etc/fstab
/dev/hda1   /boot     ext3    defaults,noatime     1 2
/dev/hda2   none      swap    sw                   0 0
/dev/hda3   /         ext3    noatime              0 1
none        /proc     proc    defaults             0 0
none        /dev/shm  tmpfs   nodev,nosuid,noexec  0 0
/dev/cdroms/cdrom0    /mnt/cdrom    auto      noauto,user    0 0
net設定
# emerge dhcpcd
# nano /etc/conf.d/hostname
# nano /etc/conf.d/domainname
# rc-update add domainname default
# nano /etc/conf.d/net
# rc-upate add net.eth0 add default

rc-updateの追加対象は/etc/init.dにある

ドキュメントでは別ページに書いてあるが、dhcpcdを入れるのを忘れないように。

/etc/conf.d/netファイルは以下のようにする

modules=("dhcpcd")
config_eth0=("dhcp")

domainnameやhostnameの名前は、/etc/hostsも反映させておく

127.0.0.1       gentoo gentoo.mshome.net localhost
rootパスワード
# passwd
keymap設定
# nano /etc/conf.d/keymaps
KEYMAP="jp106"

にする

システムツールのインストール
# emerge syslog-ng
# rc-update add syslog-ng default
# emerge vixie-cron
# rc-update add vixie-cron default
ブートローダー設定

grubを使う

# emerge grub
# nano /boot/grub/grub.conf

/boot/grub/grub.confは

default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux
root=(hd0,0)
kernel=/kernel-genkernel-x86-2.6.13-gentoo-r5 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda1 udev 
initrd=/initramfs-genkernel-x86-2.6.13-gentoo-r5

ファイルはディスクパーティションからの相対位置(initのlinuxrcはinitrd内)。
(hd0)=/dev/hda、(hd0,0)=/dev/hda1になる。

ブートローダーのインストール

# cp /proc/mounts /etc/mtab
# grub-install /dev/hda

これでもしうまくいかなければgrubコマンドから対話インストール

# grub
...
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

/bootを別パーティションにして書き込めないときは、以下のように、そのパーティションでboot/grub/grub.confになるようにすればうまくいくかも

# cd /boot
# ln -s . boot

うまく書き込めたら再起動。もし再起動できなければisoイメージから起動して(chrootなどをしてから)必要なところから行う。

# logout # chrootを抜ける
# reboot

再起動後設定

再起動後、

ユーザー追加
# useradd -m -s /bin/bash username
# passwd username
パッケージ追加
# emerge app-admin/sudo
# emerge lv
# emerge gentoolkit
sshd起動時起動設定
# rc-update add sshd default