diff options
author | davidovski <david@davidovski.xyz> | 2022-03-29 23:37:34 +0100 |
---|---|---|
committer | davidovski <david@davidovski.xyz> | 2022-03-29 23:37:34 +0100 |
commit | d28d2287b138ede0591d9facd5dbe7ca4f329f83 (patch) | |
tree | cea79933059dd721d6a9578f6214ac6fe9057d56 /extra/openrc/modules.initd | |
parent | 14a1fee0a54d94f0f57f50d2532849f3c2383a15 (diff) |
added sysvinit and openrc
Diffstat (limited to 'extra/openrc/modules.initd')
-rw-r--r-- | extra/openrc/modules.initd | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/extra/openrc/modules.initd b/extra/openrc/modules.initd new file mode 100644 index 0000000..3cd141e --- /dev/null +++ b/extra/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 $? +} + |