Booting 40 Raspberry PI 3 Model B via NFS

This forum is for topics dealing with problems with software specifically in the AArch64 repo.

Booting 40 Raspberry PI 3 Model B via NFS

Postby missjellyfish » Fri Oct 20, 2017 7:52 am

So, after working for about a year on this project I thought I share a little write up of all the little gotchas I have encountered so far. Setting up the initial boot is quite straight forward. I use this kernel command line:

$this->bbcode_second_pass_code('', 'root=/dev/nfs nfsroot=server_ip_address:/srv/roots/hostname,nfsvers=3 nfsrootdebug ip=dhcp rw rootwait console=ttyAMA0,115200 console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop')

/boot itself remains on the sd card, /root ist mounted from an NFS server. This is due to the dhcp server politics at the university I've done this for; but you could do full tftpboot if you want to.

Gotcha 1: Connection reset upon boot
The default root file system *will* reset the network interface somewhere in the process of booting. To prevent this, disable systemd-networkd *and* rename /etc/systemd/network/eth0.network to /etc/systemd/network/eth0.network.disabled.

Gotcha 2: DHCP DNS Server Options will not be honored
Due to the kernel handling dhcp, systemd does not get the memo that it should not silently fall back to googles public dns server. while this works in most situations, my university does actually block googles dns and this *will* cause DNS failures all over the board. Handling your /etc/resolv.conf manually fixes this problem.

Gotcha 3: NFS does not support capabilities
Because NFS does not support extended attributes, Capabilities set on certain binaries are lost. If you want your users to be able to use ping, you have to set chmod +s $(which ping).

To be continued...
missjellyfish
 
Posts: 1
Joined: Fri Oct 20, 2017 7:42 am

Return to ARMv8

Who is online

Users browsing this forum: No registered users and 6 guests