summaryrefslogtreecommitdiff
path: root/repo/openrc/modules.initd
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-05-31 11:05:19 +0100
committerdavidovski <david@davidovski.xyz>2022-05-31 11:05:19 +0100
commit48ca75555522716f0f686dcae3dd6cf3d8ad714d (patch)
tree00c0f58550ba4661e87376f2f02c8001c69bae44 /repo/openrc/modules.initd
parent871b2b573f01c1b3176a0f65458b3d281b41c437 (diff)
removed idea of repos
Diffstat (limited to 'repo/openrc/modules.initd')
-rw-r--r--repo/openrc/modules.initd80
1 files changed, 80 insertions, 0 deletions
diff --git a/repo/openrc/modules.initd b/repo/openrc/modules.initd
new file mode 100644
index 0000000..3cd141e
--- /dev/null
+++ b/repo/openrc/modules.initd
@@ -0,0 +1,80 @@
+#!/sbin/openrc-run
+
+description="Loads a user defined list of kernel modules."
+
+depend()
+{
+ before hwclock hwdrivers
+ keyword -openvz -prefix -vserver -lxc
+}
+
+start() {
+ yesno $rc_verbose && verbose=yes
+
+ ebegin "Loading modules"
+ eindent
+ for f in /lib/modules-load.d/*.conf \
+ /usr/lib/modules-load.d/*.conf; do
+
+ if ! [ -f "$f" ]; then
+ continue
+ fi
+
+ if [ -f /etc/modules-load.d/"${f##*/}" ]; then
+ veinfo "Ignoring $f due to /etc/modules-load.d/${f##*/}"
+ continue
+ fi
+
+ if [ -f /run/modules-load.d/"${f##*/}" ]; then
+ veinfo "Ignoring $f due to /run/modules-load.d/${f##*/}"
+ continue
+ fi
+
+ veinfo "Processing $f"
+ sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < "$f" \
+ | while read module args; do
+ modprobe -q $module $args
+ done
+ done
+
+ if [ -f /etc/modules ]; then
+ veinfo "Processing /etc/modules"
+ sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < /etc/modules \
+ | while read module args; do
+ modprobe -q $module $args
+ done
+ fi
+
+ for f in /etc/modules-load.d/*.conf; do
+ if [ ! -f "$f" ]; then
+ continue
+ fi
+
+ if [ -f /run/modules-load.d/"${f##*/}" ]; then
+ veinfo "Ignoring $f due to /run/modules-load.d/${f##*/}"
+ continue
+ fi
+
+ veinfo "Processing $f"
+ sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < "$f" \
+ | while read module args; do
+ modprobe -q $module $args
+ done
+ done
+
+ for f in /run/modules-load.d/*.conf; do
+ if [ ! -f "$f" ]; then
+ continue
+ fi
+
+ veinfo "Processing $f"
+ sed -e 's/\#.*//g' -e '/^[[:space:]]*$/d' < "$f" \
+ | while read module args; do
+ modprobe -q $module $args
+ done
+ done
+ eoutdent
+
+ eend $?
+}
+