]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/build: Fix broken copy command in genimage.sh when making isoimage
authorNir Lichtman <nir@lichtman.org>
Fri, 10 Jan 2025 12:05:00 +0000 (12:05 +0000)
committerIngo Molnar <mingo@kernel.org>
Tue, 25 Feb 2025 20:13:33 +0000 (21:13 +0100)
Problem: Currently when running the "make isoimage" command there is an
error related to wrong parameters passed to the cp command:

  "cp: missing destination file operand after 'arch/x86/boot/isoimage/'"

This is caused because FDINITRDS is an empty array.

Solution: Check if FDINITRDS is empty before executing the "cp" command,
similar to how it is done in the case of hdimage.

Signed-off-by: Nir Lichtman <nir@lichtman.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: Ard Biesheuvel <ardb@kernel.org>
Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Michal Marek <michal.lkml@markovi.net>
Link: https://lore.kernel.org/r/20250110120500.GA923218@lichtman.org
arch/x86/boot/genimage.sh

index c9299aeb7333e64b98cdcc112a45ed87f715c148..3882ead513f7426e59465f9cb583f11a697e0797 100644 (file)
@@ -22,6 +22,7 @@
 # This script requires:
 #   bash
 #   syslinux
+#   genisoimage
 #   mtools (for fdimage* and hdimage)
 #   edk2/OVMF (for hdimage)
 #
@@ -251,7 +252,9 @@ geniso() {
        cp "$isolinux" "$ldlinux" "$tmp_dir"
        cp "$FBZIMAGE" "$tmp_dir"/linux
        echo default linux "$KCMDLINE" > "$tmp_dir"/isolinux.cfg
-       cp "${FDINITRDS[@]}" "$tmp_dir"/
+       if [ ${#FDINITRDS[@]} -gt 0 ]; then
+               cp "${FDINITRDS[@]}" "$tmp_dir"/
+       fi
        genisoimage -J -r -appid 'LINUX_BOOT' -input-charset=utf-8 \
                    -quiet -o "$FIMAGE" -b isolinux.bin \
                    -c boot.cat -no-emul-boot -boot-load-size 4 \