X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=scripts%2Frc.sysinit;h=ebfe17c286da40ee5474ca5e3da30c93c0cc15a4;hb=8f4b6393d2a3fea2008722d6f2b29b3e3d3bb5c7;hp=3fc5fbd00681b88e73350ace8902dbcd6845cb41;hpb=223c3a647b3a6e41f788c2323c067a581c3bc1dd;p=startuptools diff --git a/scripts/rc.sysinit b/scripts/rc.sysinit index 3fc5fbd..ebfe17c 100644 --- a/scripts/rc.sysinit +++ b/scripts/rc.sysinit @@ -39,11 +39,8 @@ mountpoint -q /dev/pts && mountpoint -q /dev/shm status_check -#status_begin mounting virtual filesystems -#mount /proc && -#mount /sys && -#mount /dev -#status_check +# bash seems to rely on this +ln -s /proc/self/fd /dev/fd # * set the host name status_begin Setting hostname @@ -71,10 +68,27 @@ status_begin remounting root filesystem rw mount -o remount,rw / status_check +# need to run depmod here, just in case +# it should be done at kernel install time, but this can avoid +# errors if that goes wrong or there are new or removed modules status_begin running depmod depmod status_check +# load any kernel modules +# there's probably a better way to do this +# this could also be done in the initial ram-disk, but +# this covers the case where there isn't one, but we still want +# to load more hardware +if ! is_true "$NOPROBEHW" ; then + status_begin "loading kernel modules" + modlist=$(lspci -k|grep 'Kernel modules:' | awk '{print $3}'| sort -u) + if [ -n "$modlist" ]; then + modprobe $modlist + fi + status_check +fi + # set up /dev if [ -x /sbin/mdev ] && ! is_true "$USE_UDEV" ; then @@ -128,15 +142,14 @@ fi swapon -a - # mount any remaining filesystems status_begin mounting remaining filesystems -mount -a -t noproc,sysfs,devtmpfs,devpts +mount -a -t noproc,sysfs,devtmpfs,devpts,tmpfs status_check +# force mtab symlink rm -f /etc/mtab -mount -af -mount -f / +ln -s /proc/mounts /etc/mtab # * do any boot time /tmp cleanup or similar