diff options
author | cshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-09-23 13:58:05 +0000 |
---|---|---|
committer | cshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-09-23 13:58:05 +0000 |
commit | 848953efdfd9623fbc65a4cd11ab51ea46c3cdc0 (patch) | |
tree | ac8c2aadbe645dd51e97ca474cb1ea5b86257ab6 /package/base-files/files/etc | |
parent | ebf957be0086060f305acfbe4e633096b604ef65 (diff) |
[package] 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!
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23110 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/etc')
-rwxr-xr-x | package/base-files/files/etc/functions.sh | 21 | ||||
-rwxr-xr-x | package/base-files/files/etc/preinit | 12 |
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 c5df49970..acea61753 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 56c02e467..9e629ab81 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 |