From 3bcb16b305726048905f6cc3ab377c5977008a4d Mon Sep 17 00:00:00 2001
From: Nicolas Thill <nico@openwrt.org>
Date: Fri, 28 Oct 2011 13:10:50 +0000
Subject: [PATCH] package/blockmount: simplify extroot module loading logic

SVN-Revision: 28650
---
 include/kernel.mk                     | 3 ++-
 package/block-mount/Makefile          | 6 +++---
 package/block-mount/files/extmount.sh | 7 ++++---
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/include/kernel.mk b/include/kernel.mk
index 9e94dce3b9..0df0337c49 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -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; \
diff --git a/package/block-mount/Makefile b/package/block-mount/Makefile
index 657f727bb9..a4434ed34f 100644
--- a/package/block-mount/Makefile
+++ b/package/block-mount/Makefile
@@ -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
 
diff --git a/package/block-mount/files/extmount.sh b/package/block-mount/files/extmount.sh
index 44d662e63a..41a0e23863 100644
--- a/package/block-mount/files/extmount.sh
+++ b/package/block-mount/files/extmount.sh
@@ -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>&- || :
 	}
-- 
GitLab