X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=scripts%2Frc.sysinit;h=ebfe17c286da40ee5474ca5e3da30c93c0cc15a4;hb=8f4b6393d2a3fea2008722d6f2b29b3e3d3bb5c7;hp=0751a6ee1a51411f871c570abecc94b345280a8f;hpb=ce14b9c2e09ed189803917f11eb2a902285f46f1;p=startuptools diff --git a/scripts/rc.sysinit b/scripts/rc.sysinit index 0751a6e..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 @@ -61,16 +58,50 @@ status_begin loading sysctl.conf sysctl -q -p status_check -# * set up /dev +# * fsck and mount filesystems + +#status_starting fsck of / +#mount -o remount,ro / +#fsck -A -T +# TODO actually check the return value +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 -if [ -x /sbin/mdev ] && [ ! is_true "$USE_UDEVD" ]; then +# set up /dev + +if [ -x /sbin/mdev ] && ! is_true "$USE_UDEV" ; then + status_begin setting up mdev + echo > /dev/mdev.seq echo /sbin/mdev > /proc/sys/kernel/hotplug + /sbin/mdev -s + status_check elif [ -x /sbin/udevd ]; then ## ## begin voodoo scripting from lfs-initscripts ## - # udev will handle hotplugs echo > /proc/sys/kernel/hotplug @@ -111,24 +142,14 @@ fi swapon -a -# * fsck and mount filesystems - -#status_starting fsck of / -#mount -o remount,ro / -#fsck -A -T -# TODO actually check the return value -status_begin remounting root filesystem rw -mount -o remount,rw / -status_check - # 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