- NASにNFSサーバの設定をする。 ポイントはrootがrw(読み書き)可能な権限でマウントができるようにすること。
- NFSサーバに、SDカードのext4パーティションをそのままきれいにコピーする。 NASがlinux系のOSで動いておりUSBの口があるなら、そこに直接接続してコピーするのが一番簡単。Windowsでうまくコピーできる方法があると便利なんだけど。
- SDカードのFATパーティションにある、cmdline.txtを、以下の要領で書き換える。 なお、raspberry pi本体からは、/boot/cmdline.txtとして見える。手元のシリアルコンソールなraspberry piの場合には以下の通り。
- OSのIPアドレスを固定する /etc/dhcpcd.confを書き換えて、OSのIPアドレスの設定を、cmdline.txtに合わせて固定する。
- (おまけ)SDカードのFATパーティションに、ssh.txtを置いておく。 もしheadlessで動かしたいなら、ssh.txtを置いておくと、sshdが起動してくるのでお勧め。
- 起動してみる。 とりあえず動くので問題を感じないけど、気持ち悪ければ、起動後ま/etc/fstabにあるrootのマウント設定を消してもいいかも。
console=serial0,115200 console=tty1 root=/dev/nfs nfsroot=/volume1/rpiroot rw ip=192.168.1.200:192.168.1.2:192.168.1.1:255.255.255.0:rpi:eth0:off elevator=deadline fsck.repair=yes rootwaitまず、元のファイルのrootを/dev/nfsに変更する。次に、rootfstype=ext4を削除する。そのうえで、追加項目として、nfsrootとしてnfsサーバのマウントポイントを記載。ipに自身のIPアドレス・デフォルトゲートウェイ・サブネットマスクを記載する。なお、ip=dhcpと書くこともできるが、DHCPサーバによってはIPアドレスがころころ変わるので使いにくいかも。
参考文献: Mounting the root filesystem via NFS (nfsroot)
interface eth0
static ip_address=192.168.1.200/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1