Raspberry Pi をNFS root 環境で起動する

Raspberry PiのOS領域は、通常だとSDカードからの起動になります。

当然 /var など含めてログは全てそこに出力されますので、
SDカードの想定された利用方法を超えるWriteが予想されます。

そのままだと、あっという間にSDカードを壊しそうなので、
root領域をNFSに置いて、そこから起動する方法を試しましたので、
そのメモです。

■手順

以下のURLの内容が全てになります。

Howto: Raspberry Pi Root NFS share - boot your System over NFS share and
definitively deal with Flash data corruption
http://youresuchageek.blogspot.jp/2013/01/raspberrypi-root-over-nfs-share.html

    • NFSサーバー上でexportfsの設定をする。optionは(rw,sync,no_root_squash,no_subtree_check)
    • RaspberryのOSイメージのpartition 2の内容を全てNFSサーバーのShare領域にコピー
    • OSイメージのvfat側のpartition(partition 1)にある cmdline.txt を書き換える。
      内容は全て1行で書く。
      -------------
      例) NFSサーバー側は、/rpi_rootfs でShareしている例
      <raspberrypi_ip>: raspberry-pi 自身のIPアドレス
      <nfs_server_ip>:NFSサーバーのIPアドレス

      dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1
      root=/dev/nfs nfsroot=<nfs_server_ip>:/rpi_rootfs,udp,vers=3
      ip=<raspberrypi_ip>:<nfs_server_ip>:<default_gateway>:<mask>:
      rpi:eth0:off rootfstype=nfs smsc95xx.turbo_mode=N

      例) 実際にReadyNASに対して設定している例(我が家の場合

      dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 
      root=/dev/nfs nfsroot=192.168.0.100:/pi,udp,vers=3 
      ip=192.168.0.200:192.168.0.100:192.168.0.1:255.255.255.0:
      rpi:eth0:off rootfstype=nfs smsc95xx.turbo_mode=N
  • /etc/fstab をの内容を削除(root領域はNFSマウント時に自動で読み込まれる為)

これだけです。詳細は元Linkからどうぞ。
再起動して、NFSアクセスに問題がなければ起動してきます。

デフォルトでSD上にSWAPを書くのでURLの記載を参考に
設定すれば完璧でしょう。

■ OSイメージのマウント方法

Raspberry piのOSイメージをLoopマウントするメモ の記事が
参考になるかと思います。(Loopマウントして中身を編集・取り出します)

■ 起動後のdf はこんな感じになります。

root@raspberrypi:/home/pi# df -h
Filesystem           Size  Used Avail Use% Mounted on
rootfs               1.8T  269G  1.6T  15% /
192.168.0.100:/pi    1.8T  269G  1.6T  15% /
devtmpfs             212M     0  212M   0% /dev
tmpfs                 44M  204K   44M   1% /run
tmpfs                5.0M     0  5.0M   0% /run/lock
tmpfs                 88M     0   88M   0% /run/shm


コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です