mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
a1c43e3fbb
w/o giving any credit.
71 lines
2.5 KiB
Bash
71 lines
2.5 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Copyright (c) 1999 Matt Dillon
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions
|
|
# are met:
|
|
# 1. Redistributions of source code must retain the above copyright
|
|
# notice, this list of conditions and the following disclaimer.
|
|
# 2. Redistributions in binary form must reproduce the above copyright
|
|
# notice, this list of conditions and the following disclaimer in the
|
|
# documentation and/or other materials provided with the distribution.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
# $FreeBSD$
|
|
#
|
|
# $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
|