@@ -152,8 +152,8 @@ Creates initial ramdisk images for preloading modules
152
152
6 - trace info (and even more)
153
153
-v, --verbose Increase verbosity level.
154
154
-q, --quiet Decrease verbosity level.
155
- -c, --conf [FILE ] Specify configuration file to use.
156
- Default: /etc/dracut.conf
155
+ -c, --conf [LIST ] Specify a space separated list of configuration files
156
+ to use. Default: /etc/dracut.conf
157
157
--confdir [LIST] Specify a space separated list of configuration
158
158
directories to use *.conf files from.
159
159
Default: /etc/dracut.conf.d
@@ -664,7 +664,7 @@ while :; do
664
664
shift
665
665
;;
666
666
-c | --conf)
667
- conffile =" $2 "
667
+ conffiles_l =" $2 "
668
668
PARMS_TO_STORE+=" '$2 '"
669
669
shift
670
670
;;
@@ -901,15 +901,21 @@ export DRACUT_LOG_LEVEL=warning
901
901
[[ $dracutbasedir ]] || dracutbasedir=" $dracutsysrootdir " /usr/lib/dracut
902
902
903
903
# if we were not passed a config file, try the default one
904
- if [[ -z $conffile ] ]; then
904
+ if [ ${ # conffiles_l[@]} -eq 0 ]; then
905
905
if [[ $allowlocal ]]; then
906
- conffile =" $dracutbasedir /dracut.conf"
906
+ conffiles =" $dracutbasedir /dracut.conf"
907
907
else
908
- conffile =" $dracutsysrootdir /etc/dracut.conf"
908
+ conffiles =" $dracutsysrootdir /etc/dracut.conf"
909
909
fi
910
- elif [[ ! -e $conffile ]]; then
911
- printf " %s\n" " dracut: Configuration file '$conffile ' not found." >&2
912
- exit 1
910
+ else
911
+ # shellcheck disable=SC2068
912
+ for f in ${conffiles_l[@]} ; do
913
+ if [[ ! -e $f ]]; then
914
+ printf " %s\n" " dracut: Configuration file '$f ' not found." >&2
915
+ exit 1
916
+ fi
917
+ conffiles+=" $f "
918
+ done
913
919
fi
914
920
915
921
if [ ${# confdirs_l[@]} -eq 0 ]; then
@@ -929,12 +935,14 @@ else
929
935
done
930
936
fi
931
937
932
- # source our config file
933
- if [[ -f $conffile ]]; then
934
- check_conf_file " $conffile "
935
- # shellcheck disable=SC1090
936
- . " $conffile "
937
- fi
938
+ # source all config files
939
+ for f in $conffiles ; do
940
+ if [[ -f $f ]]; then
941
+ check_conf_file " $f "
942
+ # shellcheck disable=SC1090
943
+ . " $f "
944
+ fi
945
+ done
938
946
939
947
# source config files from all config dirs
940
948
# shellcheck disable=SC2086
0 commit comments