summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/diskless
blob: 9ccdfa80ed142d144bd984935b2e7dc00b3c1fee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# $FreeBSD$
#

# PROVIDE: diskless
# REQUIRE: initdiskless mountcritlocal
	if [ -n "$4" ]; then
		bpi="-i $4"
	fi
	/sbin/mdconfig -a -t malloc -s $1 -u $3
	/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
OpenPOWER on IntegriCloud