summaryrefslogtreecommitdiff
path: root/package/base-files/src/etc/init.d
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/src/etc/init.d')
-rw-r--r--package/base-files/src/etc/init.d/boot25
-rw-r--r--package/base-files/src/etc/init.d/mount10
-rwxr-xr-xpackage/base-files/src/etc/init.d/rcS7
-rwxr-xr-xpackage/base-files/src/etc/init.d/umount14
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
-