summaryrefslogtreecommitdiff
path: root/package/base-files/files/etc
diff options
context:
space:
mode:
authorDaniel Dickinson <crazycshore@gmail.com>2010-09-23 13:58:05 +0000
committerDaniel Dickinson <crazycshore@gmail.com>2010-09-23 13:58:05 +0000
commit18b473ca9b3a1d050285af6c5d1640fafc5e0ecd (patch)
tree3a7e67349a8a9e5ad2cf07ef8aa837b6062fb909 /package/base-files/files/etc
parent19723d09c279f2dad7546ae56a5d081984e3d229 (diff)
downloadmtk-20170518-18b473ca9b3a1d050285af6c5d1640fafc5e0ecd.zip
mtk-20170518-18b473ca9b3a1d050285af6c5d1640fafc5e0ecd.tar.gz
mtk-20170518-18b473ca9b3a1d050285af6c5d1640fafc5e0ecd.tar.bz2
base/block-extroot, base/block-mount: Modified preinit and block-extroot and block-mount so that use of block-mount and block-extroot do not require that block-extroot, block-mount, nor the kernel modules they depend, on are required to included in the image. That is block-extroot and dependencies may now be installed as modules onto the jffs2 part of a squashfs system and it will work. In addition packages which are installed into the jffs2 of a squashfs system may now affect preinit, so long as they do not require execution of commands that occur before the merging of the jffs2 and built-in (squashfs) preinit scripts is done.
Thanks jow for the preinit merge stuff! SVN-Revision: 23110
Diffstat (limited to 'package/base-files/files/etc')
-rwxr-xr-xpackage/base-files/files/etc/functions.sh21
-rwxr-xr-xpackage/base-files/files/etc/preinit12
2 files changed, 27 insertions, 6 deletions
diff --git a/package/base-files/files/etc/functions.sh b/package/base-files/files/etc/functions.sh
index c5df499..acea617 100755
--- a/package/base-files/files/etc/functions.sh
+++ b/package/base-files/files/etc/functions.sh
@@ -292,4 +292,25 @@ service_kill() {
done
}
+
+pi_include() {
+ if [ -f "/tmp/overlay/$1" ]; then
+ . "/tmp/overlay/$1"
+ elif [ -f "$1" ]; then
+ . "$1"
+ elif [ -d "/tmp/overlay/$1" ]; then
+ for src_script in /tmp/overlay/$1/*.sh; do
+ . "$src_script"
+ done
+ elif [ -d "$1" ]; then
+ for src_script in $1/*.sh; do
+ . "$src_script"
+ done
+ else
+ echo "WARNING: $1 not found"
+ return 1
+ fi
+ return 0
+}
+
[ -z "$IPKG_INSTROOT" -a -f /lib/config/uci.sh ] && . /lib/config/uci.sh
diff --git a/package/base-files/files/etc/preinit b/package/base-files/files/etc/preinit
index 56c02e4..9e629ab 100755
--- a/package/base-files/files/etc/preinit
+++ b/package/base-files/files/etc/preinit
@@ -5,12 +5,6 @@
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
. /etc/diag.sh
-preinit_essential_hook=
-preinit_main_hook=
-failsafe_hook=
-initramfs_hook=
-preinit_mount_root_hook=
-
pi_ifname=
pi_ip=192.168.1.1
pi_broadcast=192.168.1.255
@@ -28,8 +22,14 @@ pi_init_suppress_stderr="y"
pi_init_path="/bin:/sbin:/usr/bin:/usr/sbin"
pi_init_cmd="/sbin/init"
+. /etc/functions.sh
. /lib/functions/boot.sh
+boot_hook_init preinit_essential
+boot_hook_init preinit_main
+boot_hook_init failsafe
+boot_hook_init initramfs
+boot_hook_init preinit_mount_root
for pi_source_file in /lib/preinit/*; do
. $pi_source_file