add option --ignore-kernel-modules
Instead of adding modprobe and rmmod, create symlinks to /bin/true to don't produce unnecessary errors. Anyway it's a workaround for following desired behaviour: modprobe tries to insert module only if it's not built into kernelmaster
parent
62f8a2b63c
commit
0ca3a5ee84
10
dracut
10
dracut
|
|
@ -46,6 +46,10 @@ Creates initial ramdisk images for preloading modules
|
|||
firmwares, separated by :
|
||||
--kernel-only Only install kernel drivers and firmware files
|
||||
--no-kernel Do not install kernel drivers and firmware files
|
||||
--ignore-kernel-modules
|
||||
Don't try to load modules. It automatically implies
|
||||
'--no-kernel'. It's assumed that everything needed
|
||||
is built into kernel.
|
||||
--strip Strip binaries in the initramfs
|
||||
--nostrip Do not strip binaries in the initramfs (default)
|
||||
--mdadmconf Include local /etc/mdadm.conf
|
||||
|
|
@ -86,6 +90,10 @@ while (($# > 0)); do
|
|||
--fwdir) fw_dir_l="$2"; shift;;
|
||||
--kernel-only) kernel_only="yes"; no_kernel="no";;
|
||||
--no-kernel) kernel_only="no"; no_kernel="yes";;
|
||||
--ignore-kernel-modules) kernel_only="no"; no_kernel="yes"
|
||||
ignore_kmodules="yes"
|
||||
omit_dracutmodules_l+=\ kernel-modules
|
||||
;;
|
||||
--strip) do_strip_l="yes";;
|
||||
--nostrip) do_strip_l="no";;
|
||||
--mdadmconf) mdadmconf_l="yes";;
|
||||
|
|
@ -228,7 +236,7 @@ chmod 755 "$initdir"
|
|||
|
||||
export initdir hookdirs dracutbasedir dracutmodules drivers \
|
||||
fw_dir drivers_dir debug beverbose no_kernel kernel_only \
|
||||
add_drivers mdadmconf lvmconf filesystems
|
||||
add_drivers mdadmconf lvmconf filesystems ignore_kmodules
|
||||
|
||||
if [[ $kernel_only != yes ]]; then
|
||||
# Create some directory structure first
|
||||
|
|
|
|||
4
dracut.8
4
dracut.8
|
|
@ -52,6 +52,10 @@ only install kernel drivers and firmware files
|
|||
.BR \-\-no-kernel
|
||||
do not install kernel drivers and firmware files
|
||||
.TP
|
||||
.BR \-\-ignore-kernel-modules
|
||||
don't try to load modules; it automatically implies \fB--no-kernel\fR; it's
|
||||
assumed that everything needed is built into kernel
|
||||
.TP
|
||||
.BR \-\-mdadmconf
|
||||
include local /etc/mdadm.conf
|
||||
.TP
|
||||
|
|
|
|||
|
|
@ -1,6 +1,13 @@
|
|||
#!/bin/bash
|
||||
dracut_install mount mknod mkdir modprobe pidof sleep chroot \
|
||||
sed ls flock cp mv dmesg rm ln rmmod mkfifo less
|
||||
dracut_install mount mknod mkdir pidof sleep chroot sed ls flock cp mv dmesg \
|
||||
rm ln mkfifo less
|
||||
if [[ ${ignore_kmodules} = yes ]]; then
|
||||
inst /bin/true
|
||||
ln -s /bin/true "${initdir}"/sbin/modprobe
|
||||
ln -s /bin/true "${initdir}"/sbin/rmmod
|
||||
else
|
||||
dracut_install modprobe rmmod
|
||||
fi
|
||||
if [ ! -e "${initdir}/bin/sh" ]; then
|
||||
dracut_install bash
|
||||
(ln -s bash "${initdir}/bin/sh" || :)
|
||||
|
|
@ -18,7 +25,7 @@ if which switch_root >/dev/null 2>&1; then
|
|||
dracut_install switch_root
|
||||
else
|
||||
inst "$moddir/switch_root" "/sbin/switch_root" \
|
||||
|| derror "Failed to install switch_root"
|
||||
|| derror "Failed to install switch_root"
|
||||
fi
|
||||
inst "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
|
||||
inst_hook cmdline 10 "$moddir/parse-root-opts.sh"
|
||||
|
|
|
|||
Loading…
Reference in New Issue