package/blockmount: simplify extroot module loading logic
authorNicolas Thill <nico@openwrt.org>
Fri, 28 Oct 2011 13:10:50 +0000 (13:10 +0000)
committerNicolas Thill <nico@openwrt.org>
Fri, 28 Oct 2011 13:10:50 +0000 (13:10 +0000)
SVN-Revision: 28650

include/kernel.mk
package/block-mount/Makefile
package/block-mount/files/extmount.sh

index 9e94dce..0df0337 100644 (file)
@@ -90,7 +90,8 @@ define ModuleAutoLoad
                done; \
                if [ -e $(2)/etc/modules.d/$$$$$$$$priority-$(1) ]; then \
                        if [ "$$$$$$$$boot" = "1" ]; then \
-                               echo '# May be required for rootfs' >> $(2)/etc/modules.d/$$$$$$$$priority-$(1); \
+                               mkdir -p $(2)/etc/modules-boot.d; \
+                               ln -s ../modules.d/$$$$$$$$priority-$(1) $(2)/etc/modules-boot.d/; \
                        fi; \
                        modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$priority-$(1)"; \
                fi; \
index 657f727..a4434ed 100644 (file)
@@ -1,6 +1,6 @@
 #
-# Copyright (C) 2006-2009 OpenWrt.org
-# Copyright 2010 Vertical Communications
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=block-mount
 PKG_VERSION:=0.2.0
-PKG_RELEASE:=6
+PKG_RELEASE:=7
 
 include $(INCLUDE_DIR)/package.mk
 
index 44d662e..41a0e23 100644 (file)
@@ -1,5 +1,6 @@
 #!/bin/sh
-# Copyright 2010 Vertical Communications
+# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
 
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -15,9 +16,9 @@ set_jffs_mp() {
 er_load_modules() {
        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
+       cp -L /etc/modules-boot.d/* /tmp/overlay/etc/modules-boot.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/* 2>/dev/null)"
+       local modules="$(cat /tmp/extroot_modules/modules.d/* 2>/dev/null)"
        cd /tmp/extroot_modules/modules && [ -n "$modules" ] && {
                cat $modules | sed -e 's/^\([^#].*\)/insmod \.\/\1.ko/'| sh 2>&- || :
        }