From b0f23d1e562e753cb78a473fdade956a25cc337b Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sun, 20 Nov 2016 17:42:34 +0100 Subject: finalize systemd as alternative init system Most important is the fix in patch-src_journal_journald-server_c, which breaks startup of systemd-journald when code is compiled with -DNDEBUG. A lot of base-files reorganizing to only install required files on sysv systems. --- package/base-files/Makefile | 106 ++++++++++++++++-------------- package/base-files/files/fstab | 13 ++++ package/base-files/files/init.d/cifs | 39 +++++++++++ package/base-files/files/init.d/done | 4 ++ package/base-files/files/init.d/fs | 50 ++++++++++++++ package/base-files/files/init.d/kmod | 12 ++++ package/base-files/files/init.d/nfs | 40 +++++++++++ package/base-files/files/init.d/rcK | 34 ++++++++++ package/base-files/files/init.d/rcS | 82 +++++++++++++++++++++++ package/base-files/files/inittab.sysv | 14 ++-- package/base-files/files/inittab.sysvinit | 4 ++ package/base-files/files/mdev.conf | 18 +++++ package/base-files/files/mdev/fs | 67 +++++++++++++++++++ package/base-files/src/etc/fstab | 12 ---- package/base-files/src/etc/init.d/cifs | 39 ----------- package/base-files/src/etc/init.d/done | 4 -- package/base-files/src/etc/init.d/fs | 50 -------------- package/base-files/src/etc/init.d/kmod | 12 ---- package/base-files/src/etc/init.d/nfs | 40 ----------- package/base-files/src/etc/init.d/rcK | 34 ---------- package/base-files/src/etc/init.d/rcS | 82 ----------------------- package/base-files/src/etc/inittab | 10 --- package/base-files/src/etc/mdev.conf | 18 ----- package/base-files/src/etc/mdev/fs | 67 ------------------- 24 files changed, 430 insertions(+), 421 deletions(-) create mode 100644 package/base-files/files/fstab create mode 100644 package/base-files/files/init.d/cifs create mode 100755 package/base-files/files/init.d/done create mode 100755 package/base-files/files/init.d/fs create mode 100755 package/base-files/files/init.d/kmod create mode 100644 package/base-files/files/init.d/nfs create mode 100755 package/base-files/files/init.d/rcK create mode 100755 package/base-files/files/init.d/rcS create mode 100644 package/base-files/files/inittab.sysvinit create mode 100644 package/base-files/files/mdev.conf create mode 100755 package/base-files/files/mdev/fs delete mode 100644 package/base-files/src/etc/fstab delete mode 100644 package/base-files/src/etc/init.d/cifs delete mode 100755 package/base-files/src/etc/init.d/done delete mode 100755 package/base-files/src/etc/init.d/fs delete mode 100755 package/base-files/src/etc/init.d/kmod delete mode 100644 package/base-files/src/etc/init.d/nfs delete mode 100755 package/base-files/src/etc/init.d/rcK delete mode 100755 package/base-files/src/etc/init.d/rcS delete mode 100644 package/base-files/src/etc/inittab delete mode 100644 package/base-files/src/etc/mdev.conf delete mode 100755 package/base-files/src/etc/mdev/fs (limited to 'package/base-files') diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 4a8b4c5f2..9c9ef9395 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,7 +6,7 @@ include $(ADK_TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.1 -PKG_RELEASE:= 22 +PKG_RELEASE:= 23 PKG_SECTION:= base/apps PKG_DESCR:= basic files and scripts @@ -23,48 +23,20 @@ INSTALL_STYLE:= manual do-install: $(CP) ./src/* $(IDIR_BASE_FILES) -ifeq ($(ADK_RUNTIME_DEV_MDEV),y) - $(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev -else ifeq ($(ADK_RUNTIME_DEV_UDEV),y) - $(CP) ./files/rcdev.udev $(IDIR_BASE_FILES)/etc/init.d/rcdev -endif -ifeq (${ADK_TARGET_PACKAGE_IPKG},y) - $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ - $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists -endif -ifeq (${ADK_TARGET_PACKAGE_OPKG},y) - $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ - $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf - mkdir -p $(IDIR_BASE_FILES)/usr/lib/opkg/lists -endif - echo /bin/sh >${IDIR_BASE_FILES}/etc/shells - echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells -ifneq (${ADK_PACKAGE_ASH},) - echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells -endif -ifneq (${ADK_PACKAGE_HUSH},) - echo /bin/hush >>${IDIR_BASE_FILES}/etc/shells -endif -ifneq (${ADK_PACKAGE_BASH},) - echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells -endif -ifneq (${ADK_PACKAGE_ZSH},) - echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells -endif - mkdir -p $(IDIR_BASE_FILES)/etc/crontabs - mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt,media} - mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d} - mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin} + mkdir -p $(IDIR_BASE_FILES)/{etc,dev,boot,root,sys,proc,tmp,run,mnt,media} + mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin,sbin} + mkdir -p $(IDIR_BASE_FILES)/var/{log,lib} + ln -sf ../run $(IDIR_BASE_FILES)/var/run chmod 600 $(IDIR_BASE_FILES)/etc/shadow + chmod 1777 ${IDIR_BASE_FILES}/tmp +ifeq ($(ADK_RUNTIME_INIT_SYSTEMD),) + mkdir -p $(IDIR_BASE_FILES)/etc/init.d + cp ./files/init.d/* $(IDIR_BASE_FILES)/etc/init.d + mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d} + ln -sf ../tmp $(IDIR_BASE_FILES)/var/tmp + echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs + cp ./files/fstab $(IDIR_BASE_FILES)/etc + ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab ifeq ($(ADK_TARGET_WITH_NETDEVICE),y) cp ./files/interfaces-dhcp $(IDIR_BASE_FILES)/etc/network/interfaces cp ./files/rc.netinfo $(IDIR_BASE_FILES)/etc/ @@ -78,12 +50,17 @@ ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y) else (cd $(IDIR_BASE_FILES)/etc; ln -sf ../tmp/resolv.conf .) endif - chmod 1777 ${IDIR_BASE_FILES}/tmp - ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab - rm -rf $(IDIR_BASE_FILES)/var - ln -sf tmp $(IDIR_BASE_FILES)/var - ln -sf var/run $(IDIR_BASE_FILES)/run +endif +ifeq ($(ADK_RUNTIME_DEV_MDEV),y) + $(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev + $(CP) ./files/mdev.conf $(IDIR_BASE_FILES)/etc + $(CP) ./files/mdev $(IDIR_BASE_FILES)/etc +endif +ifeq ($(ADK_RUNTIME_DEV_UDEV),y) + $(CP) ./files/rcdev.udev $(IDIR_BASE_FILES)/etc/init.d/rcdev +endif ifeq ($(ADK_RUNTIME_INIT_SYSV),y) + cp ./files/inittab.sysv $(IDIR_BASE_FILES)/etc/inittab test -z $(ADK_RUNTIME_SHELL) || \ cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab ifeq ($(ADK_TARGET_WITH_VGA),y) @@ -98,7 +75,7 @@ endif $(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab endif ifeq ($(ADK_RUNTIME_INIT_SYSVINIT),y) - cp ./files/inittab.sysv $(IDIR_BASE_FILES)/etc/inittab + cp ./files/inittab.sysvinit $(IDIR_BASE_FILES)/etc/inittab endif test -z $(ADK_RUNTIME_HOSTNAME) || \ echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \ @@ -113,7 +90,20 @@ endif test -z '$(ADK_RUNTIME_PASSWORD)' || \ $(SED) 's,\*NP\*,'"$$(awk -F\= '/^ADK_RUNTIME_PASSWORD/ { print $$2 }' $(ADK_TOPDIR)/.config|sed -e 's^\"^^g'),g" \ $(IDIR_BASE_FILES)/etc/shadow - echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs + echo /bin/sh >${IDIR_BASE_FILES}/etc/shells + echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells +ifneq (${ADK_PACKAGE_ASH},) + echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells +endif +ifneq (${ADK_PACKAGE_HUSH},) + echo /bin/hush >>${IDIR_BASE_FILES}/etc/shells +endif +ifneq (${ADK_PACKAGE_BASH},) + echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells +endif +ifneq (${ADK_PACKAGE_ZSH},) + echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells +endif ifeq ($(ADK_PACKAGE_MKSH),y) $(CP) ./files/profile $(IDIR_BASE_FILES)/etc/profile ifeq ($(ADK_TARGET_WITH_ROOT_RW),y) @@ -125,6 +115,24 @@ ifeq ($(ADK_TARGET_BOARD_BCM28XX),y) echo 'export LD_LIBRARY_PATH=/opt/vc/lib' >> $(IDIR_BASE_FILES)/etc/profile endif endif +ifeq (${ADK_TARGET_PACKAGE_IPKG},y) + $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ + $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists +endif +ifeq (${ADK_TARGET_PACKAGE_OPKG},y) + $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/ + $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + mkdir -p $(IDIR_BASE_FILES)/usr/lib/opkg/lists +endif # simple network configuration ifneq (${ADK_SIMPLE_NETWORK_CONFIG},) diff --git a/package/base-files/files/fstab b/package/base-files/files/fstab new file mode 100644 index 000000000..06f19d9b6 --- /dev/null +++ b/package/base-files/files/fstab @@ -0,0 +1,13 @@ +# /etc/fstab: static file system information. +# +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 +tmpfs /run tmpfs mode=777 0 0 +sysfs /sys sysfs defaults 0 0 +tmpfs /media tmpfs defaults 0 0 +# example for cifs +#//192.168.1.1/music /media/music cifs ro,password=linux123,username=adk,iocharset=utf8,sec=ntlm 0 0 +# example for read-only ntfs with UUID +#UUID=E4BC628CBC6258D6 /media/usb ntfs ro,fmask=022,dmask=022 0 0 diff --git a/package/base-files/files/init.d/cifs b/package/base-files/files/init.d/cifs new file mode 100644 index 000000000..b3ca9c649 --- /dev/null +++ b/package/base-files/files/init.d/cifs @@ -0,0 +1,39 @@ +#!/bin/sh +#INIT 60 + +case $1 in +autostop) ;; +autostart) + exec sh $0 start + ;; +start) + grep -v "^#" /etc/fstab | grep cifs >/dev/null 2>&1 + if [ $? -eq 0 ]; then + grep cifs /proc/filesystems >/dev/null 2>&1 + if [ $? -eq 0 ]; then + mntpoints=$(grep -v "^#" /etc/fstab| grep cifs|awk '{ print $2 }') + for mntpoint in $mntpoints; do + mkdir -p $mntpoint + done + mount -a -t cifs + else + logger -s -t cifs "No cifs support in kernel" + fi + fi + ;; +stop) + grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1 + if [ $? -eq 0 ]; then + umount -a -t cifs + fi + ;; +restart) + sh $0 stop + sh $0 start + ;; +*) + echo "Usage: $0 {start | stop | restart}" + exit 1 + ;; +esac +exit $? diff --git a/package/base-files/files/init.d/done b/package/base-files/files/init.d/done new file mode 100755 index 000000000..04950fdc2 --- /dev/null +++ b/package/base-files/files/init.d/done @@ -0,0 +1,4 @@ +#!/bin/sh +#INIT 98 +[[ $1 = autostart ]] && sysctl -p >&- 2>/dev/null +exit 0 diff --git a/package/base-files/files/init.d/fs b/package/base-files/files/init.d/fs new file mode 100755 index 000000000..55e2c3449 --- /dev/null +++ b/package/base-files/files/init.d/fs @@ -0,0 +1,50 @@ +#!/bin/sh +#INIT 10 +[[ $1 = autostart ]] || exit 0 + +# activate swap +[ -x /sbin/swapon ] && { + grep swap /etc/fstab >/dev/null 2>&1 + if [ $? -eq 0 ];then + logger -t 'SWAP' "Activating swap" + swapon -a + fi +} + +# activate any logical volumes +[ -x /usr/sbin/lvm ] && { + logger -t 'LVM' "Activating LVM volumes" + lvm vgscan + lvm vgchange -ay +} + +# mount local filesystems +fstypes="ext2 ext3 ext4 xfs vfat ntfs ntfs-3g" +for fs in $fstypes; do + procfs=$fs + if [ $fs = "ntfs-3g" ];then + procfs=fuse + fi + disks=$(grep -v "^#" /etc/fstab|grep "${fs}[[:blank:]]"|awk '{ print $1 }') + for disk in $disks; do + logger -t 'Filesystem' "Found $disk with filesystem $fs" + mnt=$(grep -v "^#" /etc/fstab|grep "${disk}[[:blank:]]"|awk '{ print $2 }') + grep $procfs /proc/filesystems >/dev/null 2>&1 + if [ $? -eq 0 ];then + [ -x /usr/sbin/fsck.$fs ] && { + logger -t 'Filesystem' "checking $fs filesystem on $disk" + fsck -p $disk >/dev/null 2>&1 + } + mkdir -p $mnt > /dev/null 2>&1 + if [ -b $disk ]; then + logger -t 'Filesystem' "Mounting $disk to $mnt" + mount $disk + else + logger -t 'Filesystem' "Skipping mounting $disk, device file missing" + fi + else + logger -t 'Filesystem' "No $procfs filesystem in kernel" + fi + done +done +exit 0 diff --git a/package/base-files/files/init.d/kmod b/package/base-files/files/init.d/kmod new file mode 100755 index 000000000..509496a9e --- /dev/null +++ b/package/base-files/files/init.d/kmod @@ -0,0 +1,12 @@ +#!/bin/sh +#INIT 15 +[[ $1 = autostart ]] || exit 0 + +. /etc/functions.sh + +load_modules /etc/modules +for f in /etc/modules.d/*; do + [[ -e $f ]] && load_modules /etc/modules.d/* + break +done +exit 0 diff --git a/package/base-files/files/init.d/nfs b/package/base-files/files/init.d/nfs new file mode 100644 index 000000000..4c3f9ba83 --- /dev/null +++ b/package/base-files/files/init.d/nfs @@ -0,0 +1,40 @@ +#!/bin/sh +#INIT 60 +. /etc/rc.conf + +case $1 in +autostop) ;; +autostart) + test x"${rpcbind:-NO}" = x"NO" && exit 0 + exec sh $0 start + ;; +start) + grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1 + if [ $? -eq 0 ];then + grep nfs /proc/filesystems >/dev/null 2>&1 + if [ $? -eq 0 ];then + mkdir -p /var/lib/nfs/rpc_pipefs + mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs + mount -a -t nfs + else + logger -t nfs "No nfs support in kernel" + fi + fi + ;; +stop) + grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1 + if [ $? -eq 0 ];then + umount -a -t nfs + umount /var/lib/nfs/rpc_pipefs + fi + ;; +restart) + sh $0 stop + sh $0 start + ;; +*) + echo "Usage: $0 {start | stop | restart}" + exit 1 + ;; +esac +exit $? diff --git a/package/base-files/files/init.d/rcK b/package/base-files/files/init.d/rcK new file mode 100755 index 000000000..8bff46cc6 --- /dev/null +++ b/package/base-files/files/init.d/rcK @@ -0,0 +1,34 @@ +#!/bin/sh +export PATH=/bin:/sbin:/usr/bin:/usr/sbin +: ${rcquiet=0} +if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then + . /etc/rc.conf + unset rcquiet + rcquiet=0 +else + unset rcquiet + rcquiet=1 +fi +{ + grep '^#INIT ' /etc/init.d/* | \ + sort -rnk2 | \ + while read line; do + rcenabled=NO + rcname=${line%%:*} + rcname=${rcname##*/} + test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}' + test x"$rcenabled" = x"NO" || echo -n "Stopping ${rcname}... " + sh ${line%%:*} autostop + rc=$? + case $rcenabled:$rc in + (NO:*) + ;; + (*:0) + echo done. + ;; + (*:*) + echo "failed ($rc)." + ;; + esac + done +} | logger -s -p 6 -t '' diff --git a/package/base-files/files/init.d/rcS b/package/base-files/files/init.d/rcS new file mode 100755 index 000000000..bc27ed29c --- /dev/null +++ b/package/base-files/files/init.d/rcS @@ -0,0 +1,82 @@ +#!/bin/sh +export PATH=/bin:/sbin:/usr/bin:/usr/sbin +# disable kernel messages +if [ -f /proc/sys/kernel/printk ];then + echo 0 > /proc/sys/kernel/printk +fi +ln -s /proc/self/fd/0 /dev/stdin +ln -s /proc/self/fd/1 /dev/stdout +ln -s /proc/self/fd/2 /dev/stderr +: ${rcquiet=0} +if [ $rcquiet -ne 1 ];then + echo "System initialization ..." +fi + +# create some useful directories in tmpfs +mkdir -p /var/log +mkdir -p /var/run +mkdir -p /var/tmp +touch /var/log/lastlog +touch /var/log/wtmp + +# start dynamic device node management +[ -f /etc/init.d/rcdev ] && . /etc/init.d/rcdev + +# seed some random +cat /etc/.rnd >/dev/urandom 2>&1 + +# setup cfgfs +[ -x /sbin/cfgfs ] && { + cfgfs setup + mount -o remount,ro / +} + +# 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 + +HOSTNAME= +[[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname) +HOSTNAME=${HOSTNAME%%.*} +echo ${HOSTNAME:=openadk} >/proc/sys/kernel/hostname + +chown 0:0 /tmp; chmod 1777 /tmp + +if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then + . /etc/rc.conf + unset rcquiet + rcquiet=0 +else + unset rcquiet + rcquiet=1 +fi +{ + grep '^#INIT ' /etc/init.d/* | \ + sort -nk2 | \ + while read line; do + rcenabled=NO + rcname=${line%%:*} + rcname=${rcname##*/} + test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}' + test x"$rcenabled" = x"NO" || echo -n "Starting ${rcname}... " + sh ${line%%:*} autostart + rc=$? + case $rcenabled:$rc in + (NO:*) + ;; + (*:0) + echo done. + ;; + (*:*) + echo "failed ($rc)." + ;; + esac + done +} |tee /dev/stderr |logger -p 6 -t '' + +if [ $rcquiet -ne 1 ]; then + if [ -f /etc/rc.netinfo ]; then + . /etc/rc.netinfo + fi +fi diff --git a/package/base-files/files/inittab.sysv b/package/base-files/files/inittab.sysv index edfe9dc94..f1fd8b126 100644 --- a/package/base-files/files/inittab.sysv +++ b/package/base-files/files/inittab.sysv @@ -1,4 +1,10 @@ -id:2:initdefault: -si::sysinit:/etc/init.d/rcS -1:234:respawn:/sbin/agetty 115200 tty1 -AMA0:3:respawn:/sbin/agetty -L 9600 ttyAMA0 vt320 +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 -t devpts +null::sysinit:/bin/mount -a -t tmpfs +::sysinit:/etc/init.d/rcS +::shutdown:/etc/init.d/rcK +null::shutdown:/bin/umount -a +null::shutdown:/sbin/swapoff -a diff --git a/package/base-files/files/inittab.sysvinit b/package/base-files/files/inittab.sysvinit new file mode 100644 index 000000000..edfe9dc94 --- /dev/null +++ b/package/base-files/files/inittab.sysvinit @@ -0,0 +1,4 @@ +id:2:initdefault: +si::sysinit:/etc/init.d/rcS +1:234:respawn:/sbin/agetty 115200 tty1 +AMA0:3:respawn:/sbin/agetty -L 9600 ttyAMA0 vt320 diff --git a/package/base-files/files/mdev.conf b/package/base-files/files/mdev.conf new file mode 100644 index 000000000..179222221 --- /dev/null +++ b/package/base-files/files/mdev.conf @@ -0,0 +1,18 @@ +null 0:0 777 +zero 0:0 666 +u?random 0:0 644 +console 0:0 600 +ptmx 0:0 666 +tty 0:0 666 +tty[0-9]* 0:0 666 +ttyS* 0:0 640 +rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc +device-mapper 0:0 660 @test -d /dev/mapper || mkdir /dev/mapper +tun 0:0 660 >net/tun +fb0 root:video 660 +snd/timer root:audio 660 +snd/controlC0 root:audio 660 +snd/pcmC0D0p root:audio 660 +snd/pcmC0D1p root:audio 660 +msr0 root:root 660 @(mkdir -p /dev/cpu/0 && ln -sf /dev/msr0 /dev/cpu/0/msr) +sd[a-z][1-9]* root:root 660 */etc/mdev/fs diff --git a/package/base-files/files/mdev/fs b/package/base-files/files/mdev/fs new file mode 100755 index 000000000..86c4cee2f --- /dev/null +++ b/package/base-files/files/mdev/fs @@ -0,0 +1,67 @@ +#!/bin/sh +# skip root disk here, will be handled in /etc/init.d/fs +rootdisk=$(readlink /dev/root) +if [ "x${rootdisk}" = "x${MDEV}" ];then + exit 0 +fi +uuid=$(blkid /dev/${MDEV} | sed -n '/^.*UUID="\([^"]*\)".*$/s//\1/p') +if [ -z $uuid ];then + fs=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $3 }') + mnt=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $2 }') + disk="${MDEV}" +else + fs=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $3 }') + mnt=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $2 }') + disk="${MDEV} (${uuid})" +fi +if [ -z $fs ];then + logger -t mdev "Disk $disk not registered in /etc/fstab" + exit 0 +fi + +procfs=$fs +if [ $fs = "ntfs-3g" ];then + procfs=fuse +fi + +# check if already mounted via /etc/init.d/fs +adk_check() { + mount | grep "${MDEV}[[:blank:]]" + if [ $? -eq 0 ];then + logger -t mdev "Filesystem on ${MDEV} already mounted" + exit 0 + fi +} + +# filesystem check +adk_fsck() { + [ -x /usr/sbin/fsck.$fs ] && { + logger -t mdev "Checking $fs filesystem on ${MDEV}" + fsck -p ${MDEV} >/dev/null + } +} + +# mount filesystem +adk_mount() { + mkdir -p $mnt >/dev/null 2>&1 + grep $procfs /proc/filesystems >/dev/null 2>&1 + if [ $? -eq 0 ];then + logger -t mdev "Mounting $disk to $mnt" + mount $mnt 2>> /tmp/mount.err + if [ $? -ne 0 ]; then + logger -t mdev "Mounting $disk failed with $?" + fi + else + logger -t mdev "Required filesystem $procfs not available" + fi +} + +case "${ACTION}" in +add) + logger -t mdev "Device ${MDEV} added to the system" + adk_check + adk_fsck + adk_mount + ;; +esac +exit 0 diff --git a/package/base-files/src/etc/fstab b/package/base-files/src/etc/fstab deleted file mode 100644 index 16fc0357b..000000000 --- a/package/base-files/src/etc/fstab +++ /dev/null @@ -1,12 +0,0 @@ -# /etc/fstab: static file system information. -# -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 -tmpfs /media tmpfs defaults 0 0 -# example for cifs -#//192.168.1.1/music /media/music cifs ro,password=linux123,username=adk,iocharset=utf8,sec=ntlm 0 0 -# example for read-only ntfs with UUID -#UUID=E4BC628CBC6258D6 /media/usb ntfs ro,fmask=022,dmask=022 0 0 diff --git a/package/base-files/src/etc/init.d/cifs b/package/base-files/src/etc/init.d/cifs deleted file mode 100644 index b3ca9c649..000000000 --- a/package/base-files/src/etc/init.d/cifs +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -#INIT 60 - -case $1 in -autostop) ;; -autostart) - exec sh $0 start - ;; -start) - grep -v "^#" /etc/fstab | grep cifs >/dev/null 2>&1 - if [ $? -eq 0 ]; then - grep cifs /proc/filesystems >/dev/null 2>&1 - if [ $? -eq 0 ]; then - mntpoints=$(grep -v "^#" /etc/fstab| grep cifs|awk '{ print $2 }') - for mntpoint in $mntpoints; do - mkdir -p $mntpoint - done - mount -a -t cifs - else - logger -s -t cifs "No cifs support in kernel" - fi - fi - ;; -stop) - grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1 - if [ $? -eq 0 ]; then - umount -a -t cifs - fi - ;; -restart) - sh $0 stop - sh $0 start - ;; -*) - echo "Usage: $0 {start | stop | restart}" - exit 1 - ;; -esac -exit $? diff --git a/package/base-files/src/etc/init.d/done b/package/base-files/src/etc/init.d/done deleted file mode 100755 index 04950fdc2..000000000 --- a/package/base-files/src/etc/init.d/done +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -#INIT 98 -[[ $1 = autostart ]] && sysctl -p >&- 2>/dev/null -exit 0 diff --git a/package/base-files/src/etc/init.d/fs b/package/base-files/src/etc/init.d/fs deleted file mode 100755 index 55e2c3449..000000000 --- a/package/base-files/src/etc/init.d/fs +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -#INIT 10 -[[ $1 = autostart ]] || exit 0 - -# activate swap -[ -x /sbin/swapon ] && { - grep swap /etc/fstab >/dev/null 2>&1 - if [ $? -eq 0 ];then - logger -t 'SWAP' "Activating swap" - swapon -a - fi -} - -# activate any logical volumes -[ -x /usr/sbin/lvm ] && { - logger -t 'LVM' "Activating LVM volumes" - lvm vgscan - lvm vgchange -ay -} - -# mount local filesystems -fstypes="ext2 ext3 ext4 xfs vfat ntfs ntfs-3g" -for fs in $fstypes; do - procfs=$fs - if [ $fs = "ntfs-3g" ];then - procfs=fuse - fi - disks=$(grep -v "^#" /etc/fstab|grep "${fs}[[:blank:]]"|awk '{ print $1 }') - for disk in $disks; do - logger -t 'Filesystem' "Found $disk with filesystem $fs" - mnt=$(grep -v "^#" /etc/fstab|grep "${disk}[[:blank:]]"|awk '{ print $2 }') - grep $procfs /proc/filesystems >/dev/null 2>&1 - if [ $? -eq 0 ];then - [ -x /usr/sbin/fsck.$fs ] && { - logger -t 'Filesystem' "checking $fs filesystem on $disk" - fsck -p $disk >/dev/null 2>&1 - } - mkdir -p $mnt > /dev/null 2>&1 - if [ -b $disk ]; then - logger -t 'Filesystem' "Mounting $disk to $mnt" - mount $disk - else - logger -t 'Filesystem' "Skipping mounting $disk, device file missing" - fi - else - logger -t 'Filesystem' "No $procfs filesystem in kernel" - fi - done -done -exit 0 diff --git a/package/base-files/src/etc/init.d/kmod b/package/base-files/src/etc/init.d/kmod deleted file mode 100755 index 509496a9e..000000000 --- a/package/base-files/src/etc/init.d/kmod +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -#INIT 15 -[[ $1 = autostart ]] || exit 0 - -. /etc/functions.sh - -load_modules /etc/modules -for f in /etc/modules.d/*; do - [[ -e $f ]] && load_modules /etc/modules.d/* - break -done -exit 0 diff --git a/package/base-files/src/etc/init.d/nfs b/package/base-files/src/etc/init.d/nfs deleted file mode 100644 index 4c3f9ba83..000000000 --- a/package/base-files/src/etc/init.d/nfs +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -#INIT 60 -. /etc/rc.conf - -case $1 in -autostop) ;; -autostart) - test x"${rpcbind:-NO}" = x"NO" && exit 0 - exec sh $0 start - ;; -start) - grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1 - if [ $? -eq 0 ];then - grep nfs /proc/filesystems >/dev/null 2>&1 - if [ $? -eq 0 ];then - mkdir -p /var/lib/nfs/rpc_pipefs - mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs - mount -a -t nfs - else - logger -t nfs "No nfs support in kernel" - fi - fi - ;; -stop) - grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1 - if [ $? -eq 0 ];then - umount -a -t nfs - umount /var/lib/nfs/rpc_pipefs - fi - ;; -restart) - sh $0 stop - sh $0 start - ;; -*) - echo "Usage: $0 {start | stop | restart}" - exit 1 - ;; -esac -exit $? diff --git a/package/base-files/src/etc/init.d/rcK b/package/base-files/src/etc/init.d/rcK deleted file mode 100755 index 8bff46cc6..000000000 --- a/package/base-files/src/etc/init.d/rcK +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -export PATH=/bin:/sbin:/usr/bin:/usr/sbin -: ${rcquiet=0} -if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then - . /etc/rc.conf - unset rcquiet - rcquiet=0 -else - unset rcquiet - rcquiet=1 -fi -{ - grep '^#INIT ' /etc/init.d/* | \ - sort -rnk2 | \ - while read line; do - rcenabled=NO - rcname=${line%%:*} - rcname=${rcname##*/} - test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}' - test x"$rcenabled" = x"NO" || echo -n "Stopping ${rcname}... " - sh ${line%%:*} autostop - rc=$? - case $rcenabled:$rc in - (NO:*) - ;; - (*:0) - echo done. - ;; - (*:*) - echo "failed ($rc)." - ;; - esac - done -} | logger -s -p 6 -t '' diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS deleted file mode 100755 index bc27ed29c..000000000 --- a/package/base-files/src/etc/init.d/rcS +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/sh -export PATH=/bin:/sbin:/usr/bin:/usr/sbin -# disable kernel messages -if [ -f /proc/sys/kernel/printk ];then - echo 0 > /proc/sys/kernel/printk -fi -ln -s /proc/self/fd/0 /dev/stdin -ln -s /proc/self/fd/1 /dev/stdout -ln -s /proc/self/fd/2 /dev/stderr -: ${rcquiet=0} -if [ $rcquiet -ne 1 ];then - echo "System initialization ..." -fi - -# create some useful directories in tmpfs -mkdir -p /var/log -mkdir -p /var/run -mkdir -p /var/tmp -touch /var/log/lastlog -touch /var/log/wtmp - -# start dynamic device node management -[ -f /etc/init.d/rcdev ] && . /etc/init.d/rcdev - -# seed some random -cat /etc/.rnd >/dev/urandom 2>&1 - -# setup cfgfs -[ -x /sbin/cfgfs ] && { - cfgfs setup - mount -o remount,ro / -} - -# 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 - -HOSTNAME= -[[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname) -HOSTNAME=${HOSTNAME%%.*} -echo ${HOSTNAME:=openadk} >/proc/sys/kernel/hostname - -chown 0:0 /tmp; chmod 1777 /tmp - -if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then - . /etc/rc.conf - unset rcquiet - rcquiet=0 -else - unset rcquiet - rcquiet=1 -fi -{ - grep '^#INIT ' /etc/init.d/* | \ - sort -nk2 | \ - while read line; do - rcenabled=NO - rcname=${line%%:*} - rcname=${rcname##*/} - test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}' - test x"$rcenabled" = x"NO" || echo -n "Starting ${rcname}... " - sh ${line%%:*} autostart - rc=$? - case $rcenabled:$rc in - (NO:*) - ;; - (*:0) - echo done. - ;; - (*:*) - echo "failed ($rc)." - ;; - esac - done -} |tee /dev/stderr |logger -p 6 -t '' - -if [ $rcquiet -ne 1 ]; then - if [ -f /etc/rc.netinfo ]; then - . /etc/rc.netinfo - fi -fi diff --git a/package/base-files/src/etc/inittab b/package/base-files/src/etc/inittab deleted file mode 100644 index f1fd8b126..000000000 --- a/package/base-files/src/etc/inittab +++ /dev/null @@ -1,10 +0,0 @@ -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 -t devpts -null::sysinit:/bin/mount -a -t tmpfs -::sysinit:/etc/init.d/rcS -::shutdown:/etc/init.d/rcK -null::shutdown:/bin/umount -a -null::shutdown:/sbin/swapoff -a diff --git a/package/base-files/src/etc/mdev.conf b/package/base-files/src/etc/mdev.conf deleted file mode 100644 index 179222221..000000000 --- a/package/base-files/src/etc/mdev.conf +++ /dev/null @@ -1,18 +0,0 @@ -null 0:0 777 -zero 0:0 666 -u?random 0:0 644 -console 0:0 600 -ptmx 0:0 666 -tty 0:0 666 -tty[0-9]* 0:0 666 -ttyS* 0:0 640 -rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc -device-mapper 0:0 660 @test -d /dev/mapper || mkdir /dev/mapper -tun 0:0 660 >net/tun -fb0 root:video 660 -snd/timer root:audio 660 -snd/controlC0 root:audio 660 -snd/pcmC0D0p root:audio 660 -snd/pcmC0D1p root:audio 660 -msr0 root:root 660 @(mkdir -p /dev/cpu/0 && ln -sf /dev/msr0 /dev/cpu/0/msr) -sd[a-z][1-9]* root:root 660 */etc/mdev/fs diff --git a/package/base-files/src/etc/mdev/fs b/package/base-files/src/etc/mdev/fs deleted file mode 100755 index 86c4cee2f..000000000 --- a/package/base-files/src/etc/mdev/fs +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -# skip root disk here, will be handled in /etc/init.d/fs -rootdisk=$(readlink /dev/root) -if [ "x${rootdisk}" = "x${MDEV}" ];then - exit 0 -fi -uuid=$(blkid /dev/${MDEV} | sed -n '/^.*UUID="\([^"]*\)".*$/s//\1/p') -if [ -z $uuid ];then - fs=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $3 }') - mnt=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $2 }') - disk="${MDEV}" -else - fs=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $3 }') - mnt=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $2 }') - disk="${MDEV} (${uuid})" -fi -if [ -z $fs ];then - logger -t mdev "Disk $disk not registered in /etc/fstab" - exit 0 -fi - -procfs=$fs -if [ $fs = "ntfs-3g" ];then - procfs=fuse -fi - -# check if already mounted via /etc/init.d/fs -adk_check() { - mount | grep "${MDEV}[[:blank:]]" - if [ $? -eq 0 ];then - logger -t mdev "Filesystem on ${MDEV} already mounted" - exit 0 - fi -} - -# filesystem check -adk_fsck() { - [ -x /usr/sbin/fsck.$fs ] && { - logger -t mdev "Checking $fs filesystem on ${MDEV}" - fsck -p ${MDEV} >/dev/null - } -} - -# mount filesystem -adk_mount() { - mkdir -p $mnt >/dev/null 2>&1 - grep $procfs /proc/filesystems >/dev/null 2>&1 - if [ $? -eq 0 ];then - logger -t mdev "Mounting $disk to $mnt" - mount $mnt 2>> /tmp/mount.err - if [ $? -ne 0 ]; then - logger -t mdev "Mounting $disk failed with $?" - fi - else - logger -t mdev "Required filesystem $procfs not available" - fi -} - -case "${ACTION}" in -add) - logger -t mdev "Device ${MDEV} added to the system" - adk_check - adk_fsck - adk_mount - ;; -esac -exit 0 -- cgit v1.2.3