load kernel modules in kmod- packages from postinst scripts at install.
authorNicolas Thill <nico@openwrt.org>
Thu, 18 May 2006 00:35:02 +0000 (00:35 +0000)
committerNicolas Thill <nico@openwrt.org>
Thu, 18 May 2006 00:35:02 +0000 (00:35 +0000)
SVN-Revision: 3793

openwrt/package/base-files/default/etc/functions.sh
openwrt/package/base-files/default/etc/init.d/S10boot
openwrt/target/linux/rules.mk

index 858dc28..d54a346 100755 (executable)
@@ -61,3 +61,7 @@ config_get() {
 config_set() {
        export CONFIG_${1}_${2}="${3}"
 }
+
+load_modules() {
+       sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
+}
index 0cc519d..42bb438 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
+. /etc/functions.sh
 
 [ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
 vconfig set_name_type VLAN_PLUS_VID_NO_PAD
@@ -16,7 +17,7 @@ for iface in $(/sbin/ifconfig -a | awk '{print $1}' | grep eth); do
        /usr/bin/env -i ACTION=add INTERFACE="$iface" /sbin/hotplug net
 done
 
-sed 's/^[^#]/insmod &/' /etc/modules /etc/modules.d/* 2>&-|ash
+load_modules /etc/modules /etc/modules.d/*
 
 ifconfig lo 127.0.0.1 up
 ifconfig eth0 promisc
index 3358f1f..ae557f2 100644 (file)
@@ -76,6 +76,11 @@ ifneq ($(6),)
        for module in $(7); do \
                echo $$$$module >> $$(I_$(1))/etc/modules.d/$(6)-$(2); \
        done
+       echo "#!/bin/sh" >> $$(I_$(1))/CONTROL/postinst
+       echo "[ -z \"\$$$$IPKG_INSTROOT\" ] || exit" >> $$(I_$(1))/CONTROL/postinst
+       echo ". /etc/functions.sh" >> $$(I_$(1))/CONTROL/postinst
+       echo "load_modules /etc/modules.d/$(6)-$(2)" >> $$(I_$(1))/CONTROL/postinst
+       chmod 0755 $$(I_$(1))/CONTROL/postinst
 endif
        $(8)
        $(IPKG_BUILD) $$(I_$(1)) $(PACKAGE_DIR) $(MAKE_TRACE)