diff --git a/modules.d/96insmodpost/check b/modules.d/96insmodpost/check new file mode 100755 index 00000000..e0292c8b --- /dev/null +++ b/modules.d/96insmodpost/check @@ -0,0 +1,5 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +exit 0 diff --git a/modules.d/96insmodpost/insmodpost.sh b/modules.d/96insmodpost/insmodpost.sh new file mode 100755 index 00000000..f3bd7806 --- /dev/null +++ b/modules.d/96insmodpost/insmodpost.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh +. /lib/dracut-lib.sh + +for p in $(getargs rdinsmodpost=); do + modprobe $p +done diff --git a/modules.d/96insmodpost/install b/modules.d/96insmodpost/install new file mode 100755 index 00000000..4509d1ba --- /dev/null +++ b/modules.d/96insmodpost/install @@ -0,0 +1,6 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +inst_hook cmdline 20 "$moddir/parse-insmodpost.sh" +inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh diff --git a/modules.d/96insmodpost/parse-insmodpost.sh b/modules.d/96insmodpost/parse-insmodpost.sh new file mode 100755 index 00000000..4cfd3558 --- /dev/null +++ b/modules.d/96insmodpost/parse-insmodpost.sh @@ -0,0 +1,11 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +for p in $(getargs rdinsmodpost=); do + echo "blacklist $p" >> /etc/modprobe.d/initramfsblacklist.conf + _do_insmodpost=1 +done + +[ -n "$_do_insmodpost" ] && /sbin/initqueue --settled --unique --onetime /sbin/insmodpost.sh +unset _do_insmodpost