home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- # must mount proc first
- mount proc /proc -t proc
-
- # disable modprobe calls
- echo "/bin/true" >/proc/sys/kernel/modprobe
-
- # mount root writable
- mount /dev/root / -o remount,rw >/dev/null 2>&1
-
- # give ourselves 256k of ramdisk for /tmp on readonly filesystems.
- # we use ram0 since /dev/ram == ram1, and dboostrap uses that for
- # other things. We test this with a simple check.
- if touch /ro-test >/dev/null 2>&1; then
- rm -f /ro-test # nothing
- else
- # We need to make sure that whatever is in /tmp, gets copied
- # to the new ramdisk first. We make a 512 ramdisk with 1024 bytes per
- # inode. This should give us ~500 inodes.
- dd if=/dev/zero of=/dev/ram0 bs=1024 count=512
- mke2fs -b 1024 -i 1024 /dev/ram0 >/dev/null 2>&1
- mount /dev/ram0 /mnt -o rw -t ext2
- rm -rf /mnt/lost+found
- cp -a /tmp/. /mnt >/dev/null 2>&1
- rm -f `find /mnt | grep TRANS`
- umount /mnt
- mount /dev/ram0 /tmp -o rw -t ext2
- fi
-
- cat <<EOF > /etc/modules
- # /etc/modules: kernel modules to load at boot time.
- #
- # This file should contain the names of kernel modules that are
- # to be loaded at boot time, one per line. Comments begin with
- # a "#", and everything on the line after them are ignored.
-
- EOF
- chmod 644 /etc/modules
-
-
- # load extra kernel modules if they exist
- insmod /lib/modules/unix.o >/dev/null 2>&1 && echo unix >>/etc/modules
- insmod /lib/modules/misc/unix.o >/dev/null 2>&1 && echo unix >>/etc/modules
- insmod /lib/modules/cdrom/cdrom.o >/dev/null 2>&1 && echo cdrom >>/etc/modules
- insmod /lib/modules/block/ide-cd.o >/dev/null 2>&1 && echo ide-cd >>/etc/modules
- insmod /lib/modules/block/loop.o >/dev/null 2>&1 && echo loop >>/etc/modules
- insmod /lib/modules/fs/isofs.o >/dev/null 2>&1 && echo isofs >>/etc/modules
- insmod /lib/modules/net/8390.o >/dev/null 2>&1 && echo 8390 >>/etc/modules
- insmod /lib/modules/net/ether1.o >/dev/null 2>&1 && echo ether1 >>/etc/modules
- insmod /lib/modules/net/ether3.o >/dev/null 2>&1 && echo ether3 >>/etc/modules
- insmod /lib/modules/net/etherh.o >/dev/null 2>&1 && echo etherh >>/etc/modules
- insmod /lib/modules/net/ne2k-pci.o >/dev/null 2>&1 && echo ne2k-pci >>/etc/modules
- insmod /lib/modules/net/tulip.o >/dev/null 2>&1 && echo tulip >>/etc/modules
- insmod /lib/modules/af_packet.o >/dev/null 2>&1 && echo af_packet >>/etc/modules
- insmod /lib/modules/misc/af_packet.o >/dev/null 2>&1 && echo af_packet >>/etc/modules
- insmod /lib/modules/scsi/queue.o >/dev/null 2>&1 && echo queue >>/etc/modules
- insmod /lib/modules/scsi/msgqueue.o >/dev/null 2>&1 && echo msgqueue >>/etc/modules
- insmod /lib/modules/scsi/scsi_mod.o >/dev/null 2>&1 && echo scsi_mod >>/etc/modules
- insmod /lib/modules/scsi/sd_mod.o >/dev/null 2>&1 && echo sd_mod >>/etc/modules
- insmod /lib/modules/scsi/sr_mod.o >/dev/null 2>&1 && echo sr_mod >>/etc/modules
- insmod /lib/modules/scsi/cumana_1.o >/dev/null 2>&1 && echo cumana_1 >>/etc/modules
- insmod /lib/modules/scsi/cumana_2.o >/dev/null 2>&1 && echo cumana_2 >>/etc/modules
- insmod /lib/modules/scsi/oak.o >/dev/null 2>&1 && echo oak >>/etc/modules
- insmod /lib/modules/scsi/powertec.o >/dev/null 2>&1 && echo powertec >>/etc/modules
- insmod /lib/modules/scsi/eesox.o >/dev/null 2>&1 && echo eesox >>/etc/modules
- insmod /lib/modules/scsi/acornscsi_mod.o >/dev/null 2>&1 && echo acornscsi_mod >>/etc/modules
- insmod /lib/modules/scsi/arxescsi.o >/dev/null 2>&1 && echo arxescsi >>/etc/modules
- insmod /lib/modules/scsi/fas216.o >/dev/null 2>&1 && echo fas216 >>/etc/modules
- insmod /lib/modules/block/floppy.o >/dev/null 2>&1 && echo floppy >>/etc/modules
- insmod /lib/modules/fs/adfs.o >/dev/null 2>&1 && echo adfs >>/etc/modules
- # usb keyboard
-
- if grep -i USB /proc/pci ; then
- insmod /lib/modules/`uname -r`/kernel/drivers/usb/usbcore.o
- insmod /lib/modules/`uname -r`/kernel/drivers/usb/usb-uhci.o>/dev/null 2>&1 && echo usb-uhci >>/etc/modules
- insmod /lib/modules/`uname -r`/kernel/drivers/usb/usb-ohci.o>/dev/null 2>&1 && echo usb-ohci >>/etc/modules
- insmod /lib/modules/`uname -r`/kernel/drivers/input/input.o >/dev/null 2>&1 && echo input >>/etc/modules
- insmod /lib/modules/`uname -r`/kernel/drivers/usb/usbkbd.o && echo usbkbd >>/etc/modules
- insmod /lib/modules/`uname -r`/kernel/drivers/usb/hid.o && echo hid >>/etc/modules
- sleep 1
- insmod /lib/modules/`uname -r`/kernel/drivers/input/keybdev.o >/dev/null 2>&1 && echo keybdev >>/etc/modules
- fi
-
- # insmod seems to want this
- mkdir -p /lib/modules/`uname -r` >/dev/null 2>&1
-
- # start syslogging
- /sbin/syslogd -m 0
-
- # nfsroot cleanup (persistent files between runs)
- rm -f /tmp/keybd_settings
- rm -f -r /tmp/notarget
-
- # maybe load font
-
-
- exit 0
-