diff options
Diffstat (limited to 'package/base-files/src/etc/init.d')
-rw-r--r-- | package/base-files/src/etc/init.d/boot | 25 | ||||
-rw-r--r-- | package/base-files/src/etc/init.d/mount | 10 | ||||
-rwxr-xr-x | package/base-files/src/etc/init.d/rcS | 7 | ||||
-rwxr-xr-x | package/base-files/src/etc/init.d/umount | 14 |
4 files changed, 27 insertions, 29 deletions
diff --git a/package/base-files/src/etc/init.d/boot b/package/base-files/src/etc/init.d/boot index df2c493d7..b859d1d89 100644 --- a/package/base-files/src/etc/init.d/boot +++ b/package/base-files/src/etc/init.d/boot @@ -4,6 +4,29 @@ . /etc/functions.sh +# disable kernel messages +echo 0 > /proc/sys/kernel/printk + +# remount /dev with smaller size +mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev + +# remount /tmp with smaller size +size=$(cat /etc/tmpfs 2>/dev/null) +[ -z $size ] && size=2048 +mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp + +# start mdev dynamic device node management +echo >/dev/mdev.seq +echo "/sbin/mdev" >/proc/sys/kernel/hotplug +mdev -s + +# seed some random +cat /etc/.rnd >/dev/urandom 2>&1 + +# setup cfgfs +[ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} || mount -o remount,rw / + +# create some useful directories in tmpfs mkdir -p /var/log mkdir -p /var/run touch /var/log/lastlog @@ -22,6 +45,4 @@ for f in /etc/modules.d/*; do [[ -e $f ]] && load_modules /etc/modules.d/* break done -# settle down, after module load -sleep 2 exit 0 diff --git a/package/base-files/src/etc/init.d/mount b/package/base-files/src/etc/init.d/mount deleted file mode 100644 index 6c59d7bab..000000000 --- a/package/base-files/src/etc/init.d/mount +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -#INIT 60 -[[ $1 = autostart ]] || exit 0 - -# any lvm volumes to activate? -[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay;} -# check and mount all filesystems not / -[ -f /etc/fstab ] && { fsck -p >/dev/null; mount -a; swapon -a;} - -exit 0 diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS index 55c86729c..d34cce6e9 100755 --- a/package/base-files/src/etc/init.d/rcS +++ b/package/base-files/src/etc/init.d/rcS @@ -1,10 +1,11 @@ #!/bin/sh +echo "System initialization ..." export PATH=/bin:/sbin:/usr/bin:/usr/sbin +ln -s /proc/self/fd/2 /dev/stderr { grep '^#INIT ' /etc/init.d/* | \ sort -nk2 | \ while read line; do - sh ${line%%:*} autostart 2>&1 + sh ${line%%:*} autostart done - test -e /etc/init.d/boot.local && (/bin/sh /etc/init.d/boot.local) 2>&1 -} | logger -p 6 -t '' & +} | tee /dev/stderr |logger -p 6 -t '' diff --git a/package/base-files/src/etc/init.d/umount b/package/base-files/src/etc/init.d/umount deleted file mode 100755 index 49bd5a020..000000000 --- a/package/base-files/src/etc/init.d/umount +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -#INIT 55 - -case $1 in -autostop) - cd / - sync - for i in $(grep -v ^# /etc/fstab 2>/dev/null|awk '{ print $2 }'|grep -v none);do - umount $i 2>/dev/null - done - ;; -esac -exit 0 - |