summaryrefslogtreecommitdiff
path: root/repo/system/openrc/modules.initd
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-05-04 23:52:30 +0100
committerdavidovski <david@davidovski.xyz>2022-05-04 23:52:30 +0100
commit739c65c54cb0e957df5e9b76f93fb02554e5cac3 (patch)
tree09ddfa0a342f3ea9de136cb50abdd79821bf1b53 /repo/system/openrc/modules.initd
parent4c585ad54388285500fd18a6aaa516894e0f2c16 (diff)
moved everything to new file formatting
Diffstat (limited to 'repo/system/openrc/modules.initd')
-rw-r--r--repo/system/openrc/modules.initd80
1 files changed, 80 insertions, 0 deletions
diff --git a/repo/system/openrc/modules.initd b/repo/system/openrc/modules.initd
new file mode 100644
index 0000000..3cd141e
--- /dev/null
+++ b/repo/system/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 $?
+}
+