Configuring for Network Filesystems While LFS is capable of mounting NFS volumes from the get go, the lfs-bootscripts are not quite ready for this configuration. Network filesystems should be unmounted before the network goes down. The netfs script below will prepare your LFS for mounting network filesystems at boot time, and unmounting them when the network is stopped. The following commands will create the netfs script: cat > /etc/rc.d/init.d/netfs << "EOF" #!/bin/sh # Begin $rc_base/init.d/netfs # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org # netfs script written by Nathan Coulson - conathan@conet.dyndns.org # and by DJ Lucas - dj@lucasit.com . /etc/sysconfig/rc . $rc_functions case "$1" in start) # The following line mounts all entries in fstab that # have the _netdev option. This is required for network # filesystems to be mounted at boot time. echo "Mounting network volumes..." mount -a -O _netdev evaluate_retval ;; stop) echo -n "Unmounting network volumes..." # The following line obtains a list from the output of # mount for all netfs types and anything that was # mounted with the _netdev option. NETMOUNTS=`mount | grep '_netdev\|smbfs\|ncpfs|\coda\|nfs' \ | cut -d " " -f 3 | sed 's/$/ /g'` # Check to see if anything was listed from above # (see if anything is actually needs to be unmounted) if [ x$NETMOUNTS != x ] then # There is something mounted # terminate the echo -n above echo " " # Try and stop processes the nice way # (probably won't work in most cases) fuser -m -SIGTERM $NETMOUNTS > /dev/null # Check and see if it found anything. If it # did, then give 3 seconds for things to exit # the nice way before killing them off. # This one will work all of the time! if [ $? == 0 ] then sleep 3 fuser -km $NETMOUNTS > /dev/null fi # unmount our list umount $NETMOUNTS evaluate_retval else # There is nothing mounted echo "No network volumes mounted!" # print a nice '[ OK ]' message evaluate_retval fi ;; *) echo "Usage: $0 {start|stop}" exit 1 ;; esac # End $rc_base/init.d/netfs EOF chmod 0755 /etc/rc.d/init.d/netfs While the excessive comments in the script might make people cringe, the important part to note is that network filesystems that should be mounted at boot time, must have the _netdev option passed to them in /etc/fstab. Now put the necessary symlinks in place. ln -sf ../init.d/netfs /etc/rc.d/rc0.d/K47netfs && ln -sf ../init.d/netfs /etc/rc.d/rc1.d/K47netfs && ln -sf ../init.d/netfs /etc/rc.d/rc2.d/K47netfs && ln -sf ../init.d/netfs /etc/rc.d/rc3.d/S28netfs && ln -sf ../init.d/netfs /etc/rc.d/rc4.d/S28netfs && ln -sf ../init.d/netfs /etc/rc.d/rc5.d/S28netfs && ln -sf ../init.d/netfs /etc/rc.d/rc6.d/K47netfs