version 1.388, 2011/07/19 13:49:07 |
version 1.389, 2011/07/19 13:50:49 |
|
|
|
|
random_seed() |
random_seed() |
{ |
{ |
if [ -f /var/db/host.random -a "X$random_seed_done" = "X" ]; then |
if [ -f /var/db/host.random ]; then |
dd if=/var/db/host.random of=/dev/arandom bs=65536 count=1 \ |
dd if=/var/db/host.random of=/dev/arandom bs=65536 count=1 \ |
> /dev/null 2>&1 |
> /dev/null 2>&1 |
|
chmod 600 /var/db/host.random >/dev/null 2>&1 |
|
|
# reset seed file, so that if a shutdown-less reboot occurs, |
# reset seed file, so that if a shutdown-less reboot occurs, |
# the next seed is not a repeat |
# the next seed is not a repeat |
dd if=/dev/arandom of=/var/db/host.random bs=65536 count=1 \ |
dd if=/dev/arandom of=/var/db/host.random bs=65536 count=1 \ |
> /dev/null 2>&1 |
> /dev/null 2>&1 |
|
|
random_seed_done=1 |
|
fi |
fi |
} |
} |
|
|
|
|
mount -uw / # root on nfs requires this, others aren't hurt |
mount -uw / # root on nfs requires this, others aren't hurt |
rm -f /fastboot # XXX (root now writeable) |
rm -f /fastboot # XXX (root now writeable) |
|
|
random_seed |
|
|
|
# set flags on ttys. (do early, in case they use tty for SLIP in netstart) |
# set flags on ttys. (do early, in case they use tty for SLIP in netstart) |
echo 'setting tty flags' |
echo 'setting tty flags' |
ttyflags -a |
ttyflags -a |
|
|
mount -s /usr >/dev/null 2>&1 |
mount -s /usr >/dev/null 2>&1 |
mount -s /var >/dev/null 2>&1 |
mount -s /var >/dev/null 2>&1 |
|
|
# if there's no /var/db/host.random, use /dev/arandom to create one |
random_seed |
if [ ! -f /var/db/host.random ]; then |
|
dd if=/dev/arandom of=/var/db/host.random bs=65536 count=1 \ |
|
>/dev/null 2>&1 |
|
chmod 600 /var/db/host.random >/dev/null 2>&1 |
|
else |
|
# Try to read seed if it was not initially present (e.g. /var on NFS) |
|
random_seed |
|
fi |
|
|
|
# clean up left-over files |
# clean up left-over files |
rm -f /etc/nologin /var/spool/lock/LCK.* /var/spool/uucp/STST/* |
rm -f /etc/nologin /var/spool/lock/LCK.* /var/spool/uucp/STST/* |