local _kmod=${1##*/}
_kmod=${_kmod%.ko}
_kmod=${_kmod/-/_}
- if strstr " $omit_drivers " " $_kmod " ; then
+ if [[ "$_kmod" =~ $omit_drivers ]]; then
+ dinfo "Omitting driver $_kmod"
+ return 1
+ fi
+ if [[ "${1##*/lib/modules/$kernel/}" =~ $omit_drivers ]]; then
dinfo "Omitting driver $_kmod"
return 1
fi
;;
--*) _mpargs+=" $_mod" ;;
i2o_scsi) return ;; # Do not load this diagnostic-only module
- *) _mod=${_mod##*/}
-
+ *)
# if we are already installed, skip this module and go on
# to the next one.
[[ -f $initdir/$1 ]] && return
+ if [[ $omit_drivers ]] && [[ "$1" =~ $omit_drivers ]]; then
+ dinfo "Omitting driver ${_mod##$srcmods}"
+ return
+ fi
+
+ _mod=${_mod##*/}
# If we are building a host-specific initramfs and this
# module is not already loaded, move on to the next one.
[[ $hostonly ]] && ! grep -qe "\<${_mod//-/_}\>" /proc/modules \
i18n_vars="/etc/sysconfig/keyboard:KEYTABLE-KEYMAP /etc/sysconfig/i18n:SYSFONT-FONT,FONTACM-FONT_MAP,FONT_UNIMAP"
add_dracutmodules+=" rpmversion "
omit_dracutmodules+=" dash "
-omit_drivers+=" ocfs2 "
+omit_drivers+=" .*/fs/ocfs/.* "
stdloglvl=3
realinitpath="/usr/lib/systemd/systemd"
install_items+=" vi /etc/virc ps grep cat rm openvt "
fi
omit_drivers=${omit_drivers/-/_}
-unset omit_drivers_corrected
+omit_drivers_corrected=""
for d in $omit_drivers; do
strstr " $drivers $add_drivers " " $d " && continue
- omit_drivers_corrected+=" $d "
+ omit_drivers_corrected+="$d|"
done
-omit_drivers=$omit_drivers_corrected
+omit_drivers="${omit_drivers_corrected%|}"
unset omit_drivers_corrected