diff options
author | brooks <brooks@FreeBSD.org> | 2005-03-02 00:58:05 +0000 |
---|---|---|
committer | brooks <brooks@FreeBSD.org> | 2005-03-02 00:58:05 +0000 |
commit | e0e77927b6fd2967770e6421074ce27caca8c0f3 (patch) | |
tree | 72b9da1e79114e363a6a36ff2f1a0dadc18658bd /etc | |
parent | d7036279051677c0eef0f014f0115f935b01e15b (diff) | |
download | FreeBSD-src-e0e77927b6fd2967770e6421074ce27caca8c0f3.zip FreeBSD-src-e0e77927b6fd2967770e6421074ce27caca8c0f3.tar.gz |
If we don't have /usr/sbin/mtree, try to mount /usr. We're only likely
to hit this case when /usr is remote and thus hasn't been mounted (since
you're supposed to have /var before mounting remote file systems).
Normal machines that don't have a /var for some reason will have /usr
already available because it's local.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/rc.d/var | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/etc/rc.d/var b/etc/rc.d/var index af6bb9c..3eb21e2 100644 --- a/etc/rc.d/var +++ b/etc/rc.d/var @@ -83,10 +83,19 @@ case "${populate_var}" in *) if [ -d /var/run -a -d /var/db -a -d /var/empty ] ; then true - elif [ ! -x /usr/sbin/mtree ] ; then - false - else + elif [ -x /usr/sbin/mtree ] ; then _populate_var + else + # We need mtree to populate /var so try mounting /usr. + # If this does not work, we can not boot so it is OK to + # try to mount out of order. + mount /usr + if [ ! -x /usr/sbin/mtree ] ; then + exit 1 + else + _populate_var + fi + else fi ;; esac |