[Buildroot] [PATCH v2 2/5] package/busybox: add modules-load init script

unixmania at gmail.com unixmania at gmail.com
Sat Apr 18 22:14:08 UTC 2020


From: Carlos Santos <unixmania at gmail.com>

Use some scripting to mimic the systemd "modules-load" and the OpenRC
"modules" services (load kernel modules based on static configuration).

At the moment package/busybox/S02modules-load is a symlink to the kmod
script, since it works with both versions of the "modprobe" utility.

Signed-off-by: Carlos Santos <unixmania at gmail.com>

package/busybox/

---
CC: "Yann E. MORIN" <yann.morin.1998 at free.fr>
---
Changes v1->v2:
- Rename S02modules-load to S11modules-load to ensure that it runs after
  S10mdev and S10udev, which both are going to trigger cold-plug events
  that may in turn trigger module loading, as observed by Yann E. MORIN.
---
 package/busybox/S11modules-load |  1 +
 package/busybox/busybox.mk      | 12 ++++++++++++
 2 files changed, 13 insertions(+)
 create mode 120000 package/busybox/S11modules-load

diff --git a/package/busybox/S11modules-load b/package/busybox/S11modules-load
new file mode 120000
index 0000000000..44623673ff
--- /dev/null
+++ b/package/busybox/S11modules-load
@@ -0,0 +1 @@
+../kmod/S11modules-load
\ No newline at end of file
diff --git a/package/busybox/busybox.mk b/package/busybox/busybox.mk
index 5d5f3e92bd..3512bf77b5 100644
--- a/package/busybox/busybox.mk
+++ b/package/busybox/busybox.mk
@@ -264,6 +264,17 @@ define BUSYBOX_INSTALL_LOGGING_SCRIPT
 endef
 endif
 
+# Only install our modules-load script if no other package does it.
+ifeq ($(BR2_PACKAGE_KMOD_TOOLS),)
+define BUSYBOX_INSTALL_MODULES_SCRIPT
+	if grep -q CONFIG_MODPROBE=y $(@D)/.config; \
+	then \
+		$(INSTALL) -m 0755 -D package/busybox/S11modules-load \
+			$(TARGET_DIR)/etc/init.d/S11modules-load; \
+	fi
+endef
+endif
+
 # Only install our sysctl scripts if no other package does it.
 ifeq ($(BR2_PACKAGE_PROCPS_NG),)
 define BUSYBOX_INSTALL_SYSCTL_SCRIPT
@@ -368,6 +379,7 @@ define BUSYBOX_INSTALL_INIT_SYSV
 	$(BUSYBOX_INSTALL_MDEV_SCRIPT)
 	$(BUSYBOX_INSTALL_LOGGING_SCRIPT)
 	$(BUSYBOX_INSTALL_WATCHDOG_SCRIPT)
+	$(BUSYBOX_INSTALL_MODULES_SCRIPT)
 	$(BUSYBOX_INSTALL_SYSCTL_SCRIPT)
 	$(BUSYBOX_INSTALL_TELNET_SCRIPT)
 endef
-- 
2.18.2




More information about the buildroot mailing list