From b0f23d1e562e753cb78a473fdade956a25cc337b Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbx@uclibc-ng.org>
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.
+#<fs> <mount point> <type> <options> <dump> <pass>
+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.
-#<fs> <mount point> <type> <options> <dump> <pass>
-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