次のページ 前のページ 目次へ

4. NFS マウントしたディレクトリにルートファイルシステムを置く

initrd を使えば pcmcia-cs 経由で LAN カードを使い、NFS マウントしたディ レクトリにルートファイルシステムを置いた diskless Linux を構成すること も可能です。

NFS マウントしたディレクトリにルートファイルシステムを置く(NFS root)場 合、カーネルの構築時に、NFS オプションと NFS root オプションを共に指定 する必要があります。Slackware に付属のカーネルには NFS root オプション は指定されていないので、NFS root を使う場合にはカーネルを再構築する必 要があります。カーネルを再構築する際に指定すべきオプションは 「専用のシステムを作る」節で解説します。

NFS root を利用する場合、NFS サーバとなるマシンに必要なルートファイル システムを用意する必要があります。そのための方法については /usr/src/linux/Documentation/nfsroot.txt や nfs-root-mini-HOWTO を参照 してください。

また、NFS サーバとなるマシンでルートファイルシステムを export する際に はオプションとして /etc/exports ファイルで no_root_squash を オプションを指定し、ルート権限で NFS ディレクトリにアクセスできるよう にしておきます。


/var/nfsroot    cyclone.rider.co.jp(rw,no_root_squash)

NFS サーバとなるマシンのルートファイルシステムのあるディレクトリ(上記 の例では /var/nfsroot)にある /etc/fstab も NFS マウ ント用に修正しておく必要があります。


172.16.1.1:/var/nfsroot  /    nfs   rw,rsize=8192,wsize=8192,intr

カーネルを NFS root オプションを指定して再構築し、initrd で起動すると、 /proc/sys/kernel/nfs-root-name/proc/sys/kernel/nfs-root-addrs というファイルに書きこめるよ うになります。前者(nfs-root-name)にはサーバマシンでの NFS root のディレクトリを、後者(nfs-root-addrs)にはサーバーマシン、 クライアントマシンそれぞれの IP アドレスを指定します。 /proc/sys/kernel/real-root-dev には 0xff(255) を指定しておき ます。

例えば、サーバマシン(hurricane.rider.co.jp)の IP アドレスが 172.16.1.1、 クライアントマシン(cyclone.rider.co.jp)の IP アドレスが 172.16.1.2、ネッ トマスクが 255.255.255.0 の場合、initrd で起動して、ネットワークカード が使えることを確認してから、


# echo "/var/nfsroot" > /proc/sys/kernel/nfs-root-name
# echo "172.16.1.2:172.16.1.1::255.255.255.0:cyclone  \
         > /proc/sys/kernel/nfs-root-addrs
# echo 255 > /proc/sys/kernel/real-root-dev

と書きこみ、linuxrc を終了すれば、hurricane 上の /var/nfsroot を NFS root にしてシステムが起動します。

/proc/sys/kernel/nfs-root-addrsに書きこむ書式は nfsroot.txt にあるように、 <client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf> という形で、省略した部分にはデフォルト値が使われます。

Slackware 標準の /etc/rc.S ではルートファイルシステムをいった ん read-only でマウントして fsck しますが、NFS root の場合、ルートファ イルシステムはあらかじめマウントされているので、その旨を示すエラーメッ セージが表示されますが、多分大丈夫です(あまり使ってないので自信ありま せん。識者の御意見を教えてください。)

メモリの少ないマシンで swap 領域も NFS 上に取る必要がある場合、 NFS swap patch をあてて、カーネルを再構築してくださ。


次のページ 前のページ 目次へ