From ce5a30ba1013ae8b1cecd64148074bcb9ac11841 Mon Sep 17 00:00:00 2001 From: Daniel Dickinson Date: Thu, 23 Sep 2010 13:58:05 +0000 Subject: [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 --- package/block-extroot/files/50_determine_usb_root | 5 ++--- package/block-extroot/files/extmount.sh | 14 ++++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'package/block-extroot') diff --git a/package/block-extroot/files/50_determine_usb_root b/package/block-extroot/files/50_determine_usb_root index 98ec0016e2..b899203e5d 100644 --- a/package/block-extroot/files/50_determine_usb_root +++ b/package/block-extroot/files/50_determine_usb_root @@ -5,9 +5,8 @@ determine_external_root() { - . /etc/functions.sh - . /lib/functions/extmount.sh - . /lib/functions/mount.sh + pi_include /lib/functions/extmount.sh + pi_include /lib/functions/mount.sh local OLD_UCI_CONFIG_DIR="$UCI_CONFIG_DIR" set_jffs_mp diff --git a/package/block-extroot/files/extmount.sh b/package/block-extroot/files/extmount.sh index dfd6eef073..f696324f71 100644 --- a/package/block-extroot/files/extmount.sh +++ b/package/block-extroot/files/extmount.sh @@ -13,12 +13,14 @@ set_jffs_mp() { } er_load_modules() { - [ -d $ER_ROOT/etc/modules.d ] && { - cd $ER_ROOT/etc/modules.d && { - local modules="$(grep -l '# May be required for rootfs' *)" - cat $modules | sed 's/^\([^#]\)/insmod \1/' | sh 2>&- || : - } + mkdir -p /tmp/extroot_modules/modules.d + mkdir -p /tmp/extroot_modules/modules + ln -sf /etc/modules.d/* /tmp/overlay/etc/modules.d/* /tmp/extroot_modules/modules.d + ln -sf /lib/modules/*/* /tmp/overlay/lib/modules/*/* /tmp/extroot_modules/modules + local modules="$(grep -l '# May be required for rootfs' /tmp/extroot_modules/modules.d/*)" + cd /tmp/extroot_modules/modules && { + cat $modules | sed -e 's/^\([^#].*\)/insmod \.\/\1.ko/'| sh 2>&- || : } + rm -rf /tmp/extroot_modules } - -- cgit v1.2.3