mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 14:39:37 +00:00
f66e7afa28
scripts may use to source safely overrides in ${rc_conf_files} files. This protects users who insist on the bad practice of copying /etc/defaults/rc.conf to /etc/rc.conf from a recursive loop that exhausts available file descriptors. Several people have expressed interest in breaking this function out into its own shell script. Anyone who wants to embark on such an undertaking would do well to study the attributed PR. PR: 17595 Reported by: adrian Submitted by: Doug Barton <Doug@gorean.org>
45 lines
1.1 KiB
Plaintext
45 lines
1.1 KiB
Plaintext
# $FreeBSD$
|
|
#
|
|
|
|
# PROVIDE: diskless
|
|
# REQUIRE: initdiskless mountcritlocal
|
|
if [ -n "$4" ]; then
|
|
bpi="-i $4"
|
|
fi
|
|
/sbin/mdconfig -a -t malloc -s $1 -u $3
|
|
/sbin/disklabel -r -w md$3 auto
|
|
/sbin/newfs $bpi /dev/md$3c
|
|
/sbin/mount /dev/md$3c $2
|
|
}
|
|
|
|
mount_mfs -s ${varsize:=65536} -T qp120at dummy /var
|
|
var_dirs="run dev db msgs tmp spool spool/mqueue spool/lpd spool/output \
|
|
spool/output/lpd"
|
|
for i in ${var_dirs}
|
|
do
|
|
mkdir /var/${i}
|
|
done
|
|
chmod 755 /var/run
|
|
chmod 755 /var/db
|
|
chmod 755 /var/spool
|
|
chmod 1777 /var/tmp
|
|
chown -R root.daemon /var/spool/output
|
|
chgrp daemon /var/spool/lpd
|
|
# Since we are starting with a very fresh /etc on an MFS:
|
|
if [ -d /conf/default/etc ]; then
|
|
newaliases
|
|
fi
|
|
if [ ! -h /tmp -a ! -h /var/tmp ]; then
|
|
mount_null /var/tmp /tmp
|
|
fi
|
|
#
|
|
# extract a list of device entries, then copy them to a writable partition
|
|
(cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp
|
|
mount_mfs -s 4096 -i 512 -T qp120at dummy /dev
|
|
(cd /; cpio -i -H newc -d < /tmp/dev.tmp)
|
|
# extract a list of device entries, then copy them to a writable fs
|
|
(cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp
|
|
mount_md 4096 /dev 3 512
|
|
(cd /; cpio -i -H newc -d < /tmp/dev.tmp)
|
|
fi
|