diff options
author | brooks <brooks@FreeBSD.org> | 2004-03-12 04:40:16 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2004-03-12 04:40:16 +0000 |
commit | eaef20db030afa7a8cb330442f9e4c11688ce14d (patch) | |
tree | 26116af551301931184076d961f1fcc7346e0ea9 /etc/rc.d | |
parent | 0418e1b6b2b3028563987321cb043146d549ad50 (diff) | |
download | FreeBSD-src-eaef20db030afa7a8cb330442f9e4c11688ce14d.zip FreeBSD-src-eaef20db030afa7a8cb330442f9e4c11688ce14d.tar.gz |
If /conf/diskless_remount exists, use it to remount the entire /conf
directory. This allows multiple roots (say for different architectures)
to share the same set of /conf files.
Diffstat (limited to 'etc/rc.d')
-rw-r--r-- | etc/rc.d/initdiskless | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/etc/rc.d/initdiskless b/etc/rc.d/initdiskless index 883a24d..7e238e6 100644 --- a/etc/rc.d/initdiskless +++ b/etc/rc.d/initdiskless @@ -81,8 +81,8 @@ # /conf/default/etc/{rc.conf,rc.local,fstab}. Your fstab should be sure # to mount a /usr... typically an NFS readonly /usr. # -# NOTE! /etc/rc.d/diskless will create /var, /tmp, and /dev. -# Those filesystems should not be specified in /conf. At least not yet. +# NOTE! /var, /tmp, and /dev will be created elsewhere. +# Those filesystems should not be specified in /conf. dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` [ ${dlv:=0} -eq 0 ] && [ ! -f /etc/diskless ] && exit 0 @@ -167,6 +167,17 @@ while [ $# -ge 1 ] ; do shift done +# If /conf/diskless_remount exists, remount all of /conf. This allows +# multiple roots to share the same conf files. +if [ -d /conf -a -f /conf/diskless_remount ]; then + nfspt=`/bin/cat /conf/diskless_remount` + if [ `expr "$nfspt" : '\(.\)'` = "/" ]; then + nfspt="${nfsroot}${nfspt}" + fi + mount_nfs $nfspt /conf + chkerr $? "mount_nfs $nfspt /conf" +fi + # Resolve templates in /conf/base, /conf/default, /conf/${bootp_ipbca}, # and /conf/${bootp_ipa}. For each subdirectory found within these # directories: |