From 9e914d4c02c1835a714f10ce1ebd99dbe73877f6 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Fri, 7 Mar 2014 16:43:24 +0100 Subject: use standard busybox init, remove previously used /init. some configs and ideas from buildroot project --- package/base-files/src/etc/fstab | 9 +++++++ package/base-files/src/etc/init.d/boot | 25 +++++++++++++++-- package/base-files/src/etc/init.d/mount | 10 ------- package/base-files/src/etc/init.d/rcS | 7 ++--- package/base-files/src/etc/init.d/umount | 14 ---------- package/base-files/src/etc/inittab | 6 +++++ .../src/etc/network/if-post-down.d/03-wireless | 1 - package/base-files/src/etc/profile | 1 - package/base-files/src/init | 31 +++++----------------- 9 files changed, 48 insertions(+), 56 deletions(-) create mode 100644 package/base-files/src/etc/fstab delete mode 100644 package/base-files/src/etc/init.d/mount delete mode 100755 package/base-files/src/etc/init.d/umount (limited to 'package/base-files/src') diff --git a/package/base-files/src/etc/fstab b/package/base-files/src/etc/fstab new file mode 100644 index 000000000..fafa1d56e --- /dev/null +++ b/package/base-files/src/etc/fstab @@ -0,0 +1,9 @@ +# /etc/fstab: static file system information. +# +# +#/dev/root / ext2 rw,noauto 0 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 +tmpfs /dev/shm tmpfs mode=0777 0 0 +tmpfs /tmp tmpfs mode=1777 0 0 +sysfs /sys sysfs defaults 0 0 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 - diff --git a/package/base-files/src/etc/inittab b/package/base-files/src/etc/inittab index 79e69d931..eb00b00ef 100644 --- a/package/base-files/src/etc/inittab +++ b/package/base-files/src/etc/inittab @@ -1,2 +1,8 @@ +null::sysinit:/bin/mount -t proc proc /proc +null::sysinit:/bin/mkdir -p /dev/pts +null::sysinit:/bin/mkdir -p /dev/shm +null::sysinit:/bin/mount -a ::sysinit:/etc/init.d/rcS ::shutdown:/etc/init.d/rcK +null::shutdown:/bin/umount -a -r +null::shutdown:/sbin/swapoff -a diff --git a/package/base-files/src/etc/network/if-post-down.d/03-wireless b/package/base-files/src/etc/network/if-post-down.d/03-wireless index 67c01714e..77bca475b 100755 --- a/package/base-files/src/etc/network/if-post-down.d/03-wireless +++ b/package/base-files/src/etc/network/if-post-down.d/03-wireless @@ -1,5 +1,4 @@ #!/bin/sh -set -x set -e [ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0 diff --git a/package/base-files/src/etc/profile b/package/base-files/src/etc/profile index 96f03b980..ce425b54c 100644 --- a/package/base-files/src/etc/profile +++ b/package/base-files/src/etc/profile @@ -1,5 +1,4 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin -export TERM=linux export EDITOR=/bin/vi if [[ $(id -u) = 0 ]]; then export PS1='`whoami`@`hostname`:`pwd` # ' diff --git a/package/base-files/src/init b/package/base-files/src/init index ad519e96d..a27548217 100755 --- a/package/base-files/src/init +++ b/package/base-files/src/init @@ -1,26 +1,7 @@ #!/bin/sh -echo "System initialization ..." -export PATH=/bin:/sbin:/usr/bin:/usr/sbin -mount -t devtmpfs devtmpfs /dev >/dev/null 2>&1 -mount -nt proc proc /proc -echo 0 > /proc/sys/kernel/printk -mount -o nosuid,nodev,noexec -t sysfs sysfs /sys -[ ! -f /etc/notmpfs ] && { - size=$(cat /etc/tmpfs 2>/dev/null) - [ -z $size ] && size=2048 - mount -o nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp -} -mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev -[ -d /dev/pts ] || mkdir /dev/pts -[ -d /dev/shm ] || mkdir /dev/shm -mount -o nosuid,noexec -t tmpfs tmpfs /dev/shm -mount -o nosuid,noexec -t devpts devpts /dev/pts -echo >/dev/mdev.seq -echo "/sbin/mdev" >/proc/sys/kernel/hotplug -mdev -s -cat /etc/.rnd >/dev/urandom 2>&1 -[ -x /installer ] && { /installer; } -[ -x /kexecinit ] && { /kexecinit; } -[ -x /cryptinit ] && { /cryptinit; exec switch_root /mnt "/init";} -[ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} || mount -o remount,rw / -exec /sbin/init +# devtmpfs does not get automounted for initramfs +/bin/mount -t devtmpfs devtmpfs /dev +exec 0/dev/console +exec 2>/dev/console +exec /sbin/init $* -- cgit v1.2.3 From b5fb550ce2d55156609a7549d062e10a6e9c8166 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 10 Mar 2014 12:36:04 +0100 Subject: make printk option configurable via menuconfig --- package/base-files/src/etc/init.d/boot | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'package/base-files/src') diff --git a/package/base-files/src/etc/init.d/boot b/package/base-files/src/etc/init.d/boot index b859d1d89..8daf52b89 100644 --- a/package/base-files/src/etc/init.d/boot +++ b/package/base-files/src/etc/init.d/boot @@ -5,7 +5,9 @@ . /etc/functions.sh # disable kernel messages -echo 0 > /proc/sys/kernel/printk +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 -- cgit v1.2.3 From 3ae829cba98c71a4b4143f443ea65fcf370006e4 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 10 Mar 2014 17:26:29 +0100 Subject: add fs startup script for net mounts and data mount points --- package/base-files/src/etc/fstab | 1 - package/base-files/src/etc/group | 9 +++-- package/base-files/src/etc/init.d/fs | 69 ++++++++++++++++++++++++++++++++++++ package/base-files/src/etc/inittab | 4 ++- 4 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 package/base-files/src/etc/init.d/fs (limited to 'package/base-files/src') diff --git a/package/base-files/src/etc/fstab b/package/base-files/src/etc/fstab index fafa1d56e..5c09c2510 100644 --- a/package/base-files/src/etc/fstab +++ b/package/base-files/src/etc/fstab @@ -1,7 +1,6 @@ # /etc/fstab: static file system information. # # -#/dev/root / ext2 rw,noauto 0 1 proc /proc proc defaults 0 0 devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 tmpfs /dev/shm tmpfs mode=0777 0 0 diff --git a/package/base-files/src/etc/group b/package/base-files/src/etc/group index bbf6c0603..51d78238c 100644 --- a/package/base-files/src/etc/group +++ b/package/base-files/src/etc/group @@ -1,4 +1,9 @@ root:x:0: -video:x:1: -audio:x:2: +daemon:x:1: +bin:x:2: +sys:x:3: +adm:x:4: +tty:x:5: +video:x:6: +audio:x:7: nogroup:x:65534: 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/inittab b/package/base-files/src/etc/inittab index eb00b00ef..f6183798e 100644 --- a/package/base-files/src/etc/inittab +++ b/package/base-files/src/etc/inittab @@ -1,7 +1,9 @@ null::sysinit:/bin/mount -t proc proc /proc +null::sysinit:/bin/mount -t sysfs sys /sys null::sysinit:/bin/mkdir -p /dev/pts null::sysinit:/bin/mkdir -p /dev/shm -null::sysinit:/bin/mount -a +null::sysinit:/bin/mount -a -t devpts +null::sysinit:/bin/mount -a -t tmpfs ::sysinit:/etc/init.d/rcS ::shutdown:/etc/init.d/rcK null::shutdown:/bin/umount -a -r -- cgit v1.2.3 From b782769986db676b49d10b22e20f2b8184448fc0 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Tue, 11 Mar 2014 13:56:39 +0100 Subject: add adk-test-tools package - scripts to shutdown qemu from linux - only start klogd when printk is available --- package/base-files/src/etc/init.d/boot | 5 ----- package/base-files/src/etc/init.d/rcS | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'package/base-files/src') 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/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 -- cgit v1.2.3 From 750cfae39c77e6f065190f7c9647ac43388952fb Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 12 Mar 2014 16:35:45 +0100 Subject: separate local and net mounts, ignore comments --- package/base-files/src/etc/init.d/fs | 53 ++------------------------------- package/base-files/src/etc/init.d/fsnet | 53 +++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 51 deletions(-) create mode 100644 package/base-files/src/etc/init.d/fsnet (limited to 'package/base-files/src') diff --git a/package/base-files/src/etc/init.d/fs b/package/base-files/src/etc/init.d/fs index f79d9348d..75ae760e0 100644 --- a/package/base-files/src/etc/init.d/fs +++ b/package/base-files/src/etc/init.d/fs @@ -2,66 +2,17 @@ #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 + grep -v "^#" /etc/fstab| grep nfs >/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 + grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1 if [ $? -eq 0 ];then mount -a -t cifs fi diff --git a/package/base-files/src/etc/init.d/fsnet b/package/base-files/src/etc/init.d/fsnet new file mode 100644 index 000000000..8f4397897 --- /dev/null +++ b/package/base-files/src/etc/init.d/fsnet @@ -0,0 +1,53 @@ +#!/bin/sh +#INIT 20 +[[ $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 -v "^#" /etc/fstab|grep ext2|awk '{ print $1}');do fsck.ext2 $i;done; +} +[ -x /sbin/fsck.ext3 ] && { + for i in $(grep -v "^#" /etc/fstab|grep ext3|awk '{ print $1}');do fsck.ext3 $i;done; +} +[ -x /sbin/fsck.ext4 ] && { + for i in $(grep -v "^#" /etc/fstab|grep ext4|awk '{ print $1}');do fsck.ext4 $i;done; +} +[ -x /sbin/fsck.xfs ] && { + for i in $(grep -v "^#" /etc/fstab|grep xfs|awk '{ print $1}');do xfs_repair $i;done; +} +# local filesystems +grep ext2 /proc/filesystems >/dev/null 2>&1 +if [ $? -eq 0 ];then + grep -v "^#" /etc/fstab |grep ext2 >/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 -v "^#" /etc/fstab |grep ext3 >/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 -v "^#" /etc/fstab |grep ext4 >/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 -v "^#" /etc/fstab |grep xfs >/dev/null 2>&1 + if [ $? -eq 0 ];then + mount -a -t xfs + fi +fi +exit 0 -- cgit v1.2.3