0f33c9fb91
using make instead of custom scripts) and two floppies instead of one. The resultant floppy can do everything that the individual floppies (dial, net, install, isp, router) could do, modulo some bit rot that has occurred since PicoBSD last compiled. It also includes all the programs on the fixit floppy, which could thus also die. /bin currently contains the following files: -sh dump ln ns sps [ ed login ping stty badsect ex ls ps swapon cat expr mkdir pwd sync chgrp fdisk mknod pwd_mkdb sysctl chmod find more rdump syslogd chown fsck mount reboot tar chroot ftp mount_cd9660 restore telnet clri getty mount_msdos rlogin telnetd cp grep mount_nfs rm test date gunzip mount_std rmdir traceroute dd gzip msg route umount dev_mkdb hostname mt routed vi df ifconfig mv rrestore view dhclient inetd natd rsh vm dhclient-script init netstat sed w disklabel kget newfs sh zcat dmesg kill nfs sleep Structure is in place for using the same build for the other directories, but I'm no longer sure we need this. The current first floppy will run fine by itself, but the size of a compressed kernel has increased by nearly 50% since 3.2, and there's not much space for anything useful on the remainder of the floppy. The current method creates a larger mfs and can read as many floppies as the user can stand. The footprint appears to be round 14 MB.
57 lines
1.2 KiB
Bash
57 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# $FreeBSD$
|
|
### Special setup for PicoBSD ###
|
|
mount -a -t nonfs
|
|
reply=y
|
|
while [ "$reply" != "n" ]; do
|
|
echo -n "Do you have an additional floppy? [yn] "
|
|
read reply
|
|
if [ "$reply" = "y" ]; then
|
|
cd /
|
|
tar xzvf /dev/fd0
|
|
fi
|
|
done
|
|
if [ -f /etc/rc.conf ]; then
|
|
. /etc/rc.conf
|
|
fi
|
|
rm -f /var/run/*
|
|
if [ "x$swapfile" != "xNO" -a -w "$swapfile" -a -b /dev/vn0b ]; then
|
|
echo "Adding $swapfile as additional swap."
|
|
vnconfig /dev/vn0b $swapfile && swapon /dev/vn0b
|
|
fi
|
|
# configure serial devices
|
|
if [ -f /etc/rc.serial ]; then
|
|
. /etc/rc.serial
|
|
fi
|
|
# start up the initial network configuration.
|
|
if [ -f /etc/rc.network ]; then
|
|
. /etc/rc.network
|
|
network_pass1
|
|
fi
|
|
mount -a -t nfs
|
|
chmod 666 /dev/tty[pqrsPQRS]*
|
|
# clean up left-over files
|
|
(cd /var/run && { cp /dev/null utmp; chmod 644 utmp; })
|
|
if [ -n "$network_pass1_done" ]; then
|
|
network_pass2
|
|
fi
|
|
if [ -n "$network_pass2_done" ]; then
|
|
network_pass3
|
|
fi
|
|
if [ "X${inetd_enable}" = X"YES" ]; then
|
|
echo "Starting inetd."; inetd ${inetd_flags}
|
|
fi
|
|
|
|
dev_mkdb
|
|
|
|
echo ''
|
|
if [ "x$swapfile" = "xNO" ]; then
|
|
echo "WARNING: no swap partition!"
|
|
echo "Don't run too many programs at the same time..."
|
|
fi
|
|
# Only one /tmp
|
|
ln -s /tmp /var
|
|
|
|
# This needs to be in /sbin, but /sbin is magic.
|
|
mv /etc/dhclient-script /sbin
|