]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/kernel-install/90-loaderentry.install
Merge pull request #11540 from taro-yamada/mytest
[thirdparty/systemd.git] / src / kernel-install / 90-loaderentry.install
index e5fb232f35c24826fadc97d99042a41d367fd59c..75dd5a1b7dcc9c7799fe650c68f48d7518488598 100644 (file)
@@ -83,7 +83,9 @@ cp "$KERNEL_IMAGE" "$BOOT_DIR_ABS/linux" &&
     exit 1
 }
 
-for initrd in "${@:${INITRD_OPTIONS_START}}"; do
+INITRD_OPTIONS=( "${@:${INITRD_OPTIONS_START}}" )
+
+for initrd in "${INITRD_OPTIONS[@]}"; do
     if [[ -f "${initrd}" ]]; then
         initrd_basename="$(basename ${initrd})"
         cp "${initrd}" "$BOOT_DIR_ABS/${initrd_basename}" &&
@@ -95,6 +97,10 @@ for initrd in "${@:${INITRD_OPTIONS_START}}"; do
     fi
 done
 
+# If no initrd option is supplied, fallback to "initrd" which is
+# the name used by dracut when generating it in its kernel-install hook
+[[ ${#INITRD_OPTIONS[@]} == 0 ]] && INITRD_OPTIONS=( initrd )
+
 mkdir -p "${LOADER_ENTRY%/*}" || {
     echo "Could not create loader entry directory '${LOADER_ENTRY%/*}'." >&2
     exit 1
@@ -106,7 +112,7 @@ mkdir -p "${LOADER_ENTRY%/*}" || {
     echo "machine-id $MACHINE_ID"
     echo "options    ${BOOT_OPTIONS[*]}"
     echo "linux      $BOOT_DIR/linux"
-    for initrd in "${@:${INITRD_OPTIONS_START}}"; do
+    for initrd in "${INITRD_OPTIONS[@]}"; do
         [[ -f $BOOT_DIR_ABS/$(basename ${initrd}) ]] && \
             echo "initrd     $BOOT_DIR/$(basename ${initrd})"
     done