diff options
-rw-r--r-- | functions | 8 | ||||
-rwxr-xr-x | mkinitcpio | 2 |
2 files changed, 5 insertions, 5 deletions
@@ -313,7 +313,7 @@ add_module() { module=${1%.ko*} # skip expensive stuff if this module has already been added - (( ${ADDED_MODULES["$module"]} )) && return + (( ADDED_MODULES["${module//-/_}"] )) && return while IFS=':= ' read -r -d '' field value; do case "$field" in @@ -602,9 +602,9 @@ write_image_config() { # sanitize of any extra whitespace read -ra modules <<<"${MODULES//-/_}" - for mod in "${modules[@]}"; do - in_array "${mod%\?}" "${ADDED_MODULES[@]}" || continue - add+=("${mod%\?}") + for mod in "${modules[@]%\?}"; do + # only add real modules (2 == builtin) + (( ADDED_MODULES["$mod"] == 1 )) && add+=("$mod") done (( ${#add[*]} )) && printf 'MODULES="%s"\n' "${add[*]}" @@ -346,7 +346,7 @@ trap '(( $? )) && [[ $FUNCNAME = add_* ]] && (( ++builderrors ))' RETURN # prime the ADDED_MODULES list with the builtins for this kernel if [[ -r $MODULEDIR/modules.builtin ]]; then while read -a path; do - ADDED_MODULES["${path[-1]%.ko}"]=1 + ADDED_MODULES["${path[-1]%.ko}"]=2 done <"$MODULEDIR/modules.builtin" fi |