/etc/conf.d/net.example says: # # The default in the script is to test for NFS root and disallow # # downing interfaces in that case. Note that if you specify a # # predown() function you will override that logic. Here it is, in # # case you still want it... # if is_net_fs /; then # eerror "root filesystem is network mounted -- can't stop ${IFAC$ # return 1 # fi this doesn't work. I've no predown() in my /etc/conf.d/net and net.{eth0,lo} is stopped with nfsroot ... and the machine hangs. My /etc/conf.d/net: config_eth0=( "noop" ) I've copied the predown() out of /etc/conf.d/net.example and the machine shutdowns correctly now, but it seems baselayout tries to stop net.{eth0,lo} many times, there are a lot of lines: root filesystem is network mounted -- can't stop eth0. Is this behavior intended? As net.eth0 does nothing on startup, it should do nothing on stop, or at least do nothing while stopping with / on a network-fs. My fstab-entry for /: 192.168.0.14:/netboot / nfs noauto 0 0 noauto, since / is already mounted correctly, trying to mount it again on startup doesn't work because portmap isn't started early enough. Reproducible: Always Steps to Reproduce: 1. boot from nfs 2. /etc/init.d/net.eth0 start 3. /etc/init.d/net.eth0 stop
Fixed in our svn repo. In my tests it only tries to stop net.eth0 once and then continuing, but this is without a real nfs root (I reversed the logic for the test so it should work just as well).