diff --git a/config/sources/families/bcm2711.conf b/config/sources/families/bcm2711.conf index 467fb85cbf..e05a97bf6c 100644 --- a/config/sources/families/bcm2711.conf +++ b/config/sources/families/bcm2711.conf @@ -110,7 +110,18 @@ function post_family_tweaks_bsp__add_hooks_to_move_kernel_initrd_and_dtb() { target=/boot/firmware dtb_dir=/usr/lib/linux-image-$abi/ - cp /boot/vmlinuz-${abi} ${target}/vmlinuz + # The kernel image can be named either "Image" (standardized for ARM platforms) + # or "vmlinuz-${abi}" (default naming convention for Linux kernels). We need + # too support both conventions. + if [[ -f /boot/Image ]]; then + cp /boot/Image ${target}/vmlinuz + elif [[ -f /boot/vmlinuz-${abi} ]]; then + cp /boot/vmlinuz-${abi} ${target}/vmlinuz + else + echo "Error: No kernel file (Image or vmlinuz-${abi}) found in /boot!" + exit 1 + fi + cp ${dtb_dir}/broadcom/*.dtb ${target}/ cp -r ${dtb_dir}/overlays ${target}/ sync -f ${target}/vmlinuz || true