fix: ensure the ISO is actually UEFI-bootable
BOOT=efi only changed the GRUB inside the rootfs squashfs — grub-mkrescue
builds the ISO bootloader from the build host's GRUB, so an ISO assembled
on a host without the x86_64-efi modules + mtools shipped with NO UEFI
boot entry. Booting that ISO on a UEFI machine showed:
"make sure there is a bootable uefi x64 image"
- check-host-deps.sh now verifies the GRUB module dirs it needs for a
hybrid ISO (/usr/lib/grub/x86_64-efi from grub-efi-amd64-bin,
/usr/lib/grub/i386-pc from grub-pc-bin) and mtools, not just
grub-mkrescue.
- build-iso.sh verifies the finished ISO has both EFI and BIOS boot
entries (xorriso El Torito report) and prints the result; BOOT=efi
builds FAIL if the EFI entry is missing.
- GitLab CI build image gains grub-pc-bin, grub-efi-amd64-bin, mtools.
- docs/building.md: hybrid-ISO burning instructions (dd) and the
"bootable uefi x64 image" troubleshooting path.
This commit is contained in:
@@ -31,7 +31,7 @@ validate:
|
||||
image: debian:trixie
|
||||
before_script:
|
||||
- apt-get update -qq
|
||||
- apt-get install -y -qq debootstrap squashfs-tools grub2-common xorriso cpio curl git make bash gdisk parted rsync dosfstools qemu-utils unzip dpkg openssl sbsigntool
|
||||
- apt-get install -y -qq debootstrap squashfs-tools grub2-common grub-pc-bin grub-efi-amd64-bin mtools xorriso cpio curl git make bash gdisk parted rsync dosfstools qemu-utils unzip dpkg openssl sbsigntool
|
||||
script:
|
||||
- make ${TARGET:-iso}-${EDITION}
|
||||
artifacts:
|
||||
|
||||
Reference in New Issue
Block a user