Howto

ルートファイルシステムをNFSでマウントする

ルートファイルシステムをNFSでマウントできたら、開発効率があがりますよね。 そこでNFSでマウントする手順について説明します。

設定する項目は、

があります。

1. DHCPサーバの設定

ArmadilloがDHCPによる割当てを受け取れるように、他のPCでDHCPサーバをたてましょう。
ここでは、DHCPサーバアプリケーションに「dhcp3(-server)」を使用します。

IP割当て時にroot-pathが設定されるようにDHCPサーバを設定します。
/etc/dhcp3/dhcpd.confに以下のように設定を追加します。


subnet 192.168.10.0 netmask 255.255.255.0 {
  group {
          :
     host a9-nfs {
        hardware ethernet 00:11:0C:xx:xx:xx;
        option root-path "/home/a9/nfs";
     }
  }
}
※「00:11:0C:xx:xx:xx」はArmadilloのMACアドレスです。

設定後、DHCPサーバを再起動させます。

2. NFSサーバの設定

ArmadilloがNFSでマウントできるように、他のPCでNFSサーバを立てましょう。

NFSで外部に公開するディレクトリを設定します。
/etc/exportsに以下のように設定します。


/home/a9/nfs 192.168.10.0/255.255.255.0(rw,no_root_squash)

設定後、NFSサーバを再起動させます。

3. ルートファイルシステムの準備

Armadilloが使うルートファイルシステムをNFSサーバ上に準備します。

ここでは、とりあえずデフォルトのイメージと同じものを使うようにします。
(一部の起動スクリプトで問題が発生するので、修正が必要です。)


[armadillo ~]# mount -t ext2 -o loop romfs.img /mnt
[armadillo ~]# cp /mnt/* /home/a9/nfs/ -a

4. Kernelの設定

Armadilloのコンフィグレーションが必要となります。 Kernelコンフィグレーションで以下のように設定します。


Device Driver-->
  Networking support-->
    Networking options-->
      [*] TCP/IP networking
      [*]   IP: kernel level autoconfiguration
      [*]     IP: DHCP support
      [*]     IP: BOOTP support  ※必要に応じて選択してください
      [*]     IP; RARP support   ※必要に応じて選択してください
File Systems-->
  Network File Systems-->
      [*] NFS file system support
      [*]   Provide NFSv3 client support
      [*] Root file system on NFS

Kernelイメージを作成し、ダウンロードして下さい。

5. Kernel起動オプションの設定

JP2をショートさせてHermitコマンドプロンプトから次のように起動オプションを設定します。
ここではコンソールを「ttyAM01」、NFSサーバのIPアドレスを「192.168.10.10」とします。


setenv noinitrd root=/dev/nfs nfsroot=192.168.10.10:/home/a9/nfs \
       ip=on console=ttyAM0,115200

次回起動時から、ルートファイルシステムがNFSでマウントされると思います。


  1. コンソールの指定は各製品により違いがあります。詳しくは各製品のマニュアルを参照してください。