ネットブート + NFSルートガイド Alpha編
注意
書きかけです!
他のアーキテクチャ
- ネットブート + NFSルートガイド Alpha編
- ネットブート + NFSルートガイド HPPA編
- Gentoo/MIPS/netboot
- Gentoo/PPC/netboot
- Gentoo/SPARC/netboot
はじめに
昔のワークステーションであればかなり安く買えるようになりました。しかし、手に入れた計算機のハードディスクの容量が少なかったり、そもそも壊れていたりして使えない場合もあると思います。また、動くとしても何年も前のハードディスクを使いたくないと思うかもしれません。
ネットブート + NFSルートではサーバのハードディスクを利用するため、これらの問題に頭を悩ませる必要がなくなります(その代わりファイルアクセスが遅いということで頭を悩ますかもしれませんが)。
サーバの設定
サーバではnfsd、dhcpd、tftpdを動作させる必要があります。次のページおよびこのページの設定例を参考にしてデーモンのインストールおよび設定を行ってください。
設定例
nfsdのための設定
#/etc/exports /export 192.168.0.0/255.255.255.0(rw,sync,no_root_squash)
dhcpdのための設定
#dhcpd.conf
option domain-name "local.example.com";
option domain-name-servers 192.168.0.1;
option subnet-mask 255.255.255.0;
default-lease-time 172800;
max-lease-time 259200;
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
range 192.168.0.100 192.168.0.199;
}
host alpha{
hardware ethernet 00:00:00:00:00:00;
fixed-address 192.168.0.202;
filename "/tftpboot/vmlinux-alpha";
server-name "dhcp.local.example.com";
next-server 192.168.0.1;
option root-path "/export/alpha";
}
クライアントのインストール・設定
LiveCDから起動し、NFSファイルシステムをマウントできるように /etc/init.d/nfsmount start を実行します。次に、mount nfsserver:/export/alpha /mnt/gentoo というようにルートディレクトリとしてマウントしたいディレクトリをマウントしstage3を解凍してください。あとは基本的にハンドブックのインストール編第6章以降に従ってインストールを進めます。
注意しなければいけない点は、カーネルの設定および作成、/etc/fstabの設定、ネットワークの設定、そしてブートローダです。また、ハンドブックに書かれていないパッケージも入れる必要があります。
カーネルの設定および作成
まず、カーネルの設定ですが、IPアドレスをカーネルがDHCP経由で取得できるようにすること、NFSルートを可能にすること、そして使用するNICのドライバをカーネルに組み込む必要があります。make menuconfig などで普通にカーネルの設定を行ったあと(もちろんNICのドライバを組み込むことを忘れずに!)、.configをエディタで開き、一番最後に下の内容を追加するのが簡単な方法だと思います。これにより、最初の2つの設定を行ったことになります。
CONFIG_UNIX=y CONFIG_IP_PNP=y CONFIG_IP_PNP_DHCP=y CONFIG_IP_PNP_BOOTP=n CONFIG_IP_PNP_RARP=n CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y
また、ネットブートが可能なカーネルを作成する作成するために、ハンドブックにあるコマンドを実行したあとに make bootpzfile を実行します。/usr/src/linux/arch/alpha/bootにネットブート可能なカーネル bootpzfile が作成されますので、サーバの/tftpbootに置いてください。この時、dhcpd.confのfilenameで指定したファイル名になるよう変更してください。このページで使っている例ではvmlinux-alphaになります。
/etc/fstabの設定
ハンドブックではローカルのハードディスクをルートファイルシステムとしてマウントするようにfstabを書いていますが、NFSを使ってマウントするように記入します。
192.168.0.1:/export/alpha / nfs rsize=1024,wsize=1024 0 0
ネットワークの設定
IPアドレスは起動時にカーネルが取得しますので、起動時に使うNICの設定は不要です。
ブートローダ
ブートローダのインストールは不要です。
インストールが必要なパッケージ
- nfs-utils
- ルートファイルシステムにNFSを使うので必要です。インストール終了後、rc-update add nfsmount default を実行してください。
- ntp
- 時刻がサーバと同期していないと、コンパイル時に問題が発生する場合があります。オプションです。
起動
SRMコンソールで次のようにすると起動します。
boot -proto bootp -flags "root=/dev/nfs ip=dhcp" ewa0
オートブート
毎回電源を入れるたびにブートコマンドを入力するのは面倒です。次のようにすれば自動的に起動してくれるようになります。
set bootdef_dev ewa0 set boot_osflags "root=/dev/nfs ip=dhcp" set ewa0_protocols BOOTP set auto_action BOOT