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/boot5
-rw-r--r--package/base-files/src/etc/init.d/fs69
-rwxr-xr-xpackage/base-files/src/etc/init.d/rcS4
3 files changed, 73 insertions, 5 deletions
diff --git a/package/base-files/src/etc/init.d/boot b/package/base-files/src/etc/init.d/boot
index 8daf52b89..fc2f79ac2 100644
--- a/package/base-files/src/etc/init.d/boot
+++ b/package/base-files/src/etc/init.d/boot
@@ -4,11 +4,6 @@
. /etc/functions.sh
-# disable kernel messages
-if [ -f /proc/sys/kernel/printk ];then
- echo 0 > /proc/sys/kernel/printk
-fi
-
# remount /dev with smaller size
mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
diff --git a/package/base-files/src/etc/init.d/fs b/package/base-files/src/etc/init.d/fs
new file mode 100644
index 000000000..f79d9348d
--- /dev/null
+++ b/package/base-files/src/etc/init.d/fs
@@ -0,0 +1,69 @@
+#!/bin/sh
+#INIT 60
+[[ $1 = autostart ]] || exit 0
+
+# activate swap
+[ -x /sbin/swapon ] && { swapon -a; }
+
+# activate any logical volumes
+[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay; }
+
+# filesystem checks
+[ -x /sbin/fsck.ext2 ] && {
+ for i in $(grep ext2 /etc/fstab|awk '{ print $1}');do fsck.ext2 $i;done;
+}
+[ -x /sbin/fsck.ext3 ] && {
+ for i in $(grep ext3 /etc/fstab|awk '{ print $1}');do fsck.ext3 $i;done;
+}
+[ -x /sbin/fsck.ext4 ] && {
+ for i in $(grep ext4 /etc/fstab|awk '{ print $1}');do fsck.ext4 $i;done;
+}
+[ -x /sbin/fsck.xfs ] && {
+ for i in $(grep xfs /etc/fstab|awk '{ print $1}');do xfs_repair $i;done;
+}
+# local filesystems
+grep ext2 /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep ext2 /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t ext2
+ fi
+fi
+grep ext3 /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep ext3 /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t ext3
+ fi
+fi
+grep ext4 /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep ext4 /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t ext4
+ fi
+fi
+grep xfs /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep xfs /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t xfs
+ fi
+fi
+
+# mount net filesystems (nfs/cifs)
+grep nfs /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep nfs /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t nfs
+ fi
+fi
+grep cifs /proc/filesystems >/dev/null 2>&1
+if [ $? -eq 0 ];then
+ grep cifs /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mount -a -t cifs
+ fi
+fi
+exit 0
diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS
index d34cce6e9..9daa8f5cd 100755
--- a/package/base-files/src/etc/init.d/rcS
+++ b/package/base-files/src/etc/init.d/rcS
@@ -1,4 +1,8 @@
#!/bin/sh
+# disable kernel messages
+if [ -f /proc/sys/kernel/printk ];then
+ echo 0 > /proc/sys/kernel/printk
+fi
echo "System initialization ..."
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
ln -s /proc/self/fd/2 /dev/stderr