Hi, Michel Bouissou wrote: > I'm happy to report that the USB stick I made today with > grub-mkrescue-sed.sh does boot alright on tested machines.
So GRUB itself is ok with the machine. GPT and MBR partitions alike. > The HP tested machine has, AFAIK, no CSM "legacy" boot mode at all and I > believe it doesn't boot anything but UEFI. It booted the tails ISO which has no EFI boot equipment but only an ISOLINUX El Torito boot image for BIOS and an ISOLINUX isohybrid MBR with machine code which BIOS will execute when presented on USB stick. The machine's firmware probably falls back to legacy mode when detecting BIOS stuff but no EFI partition. ------------------------------------------------------------------------- What only do our users at the distro ISO projects miss which grub-mkrescue does right ? Is it simply the invalid GPT which Matthew J. Garrett introduced to get some of his test machines booting ? (Or did he introduce the MBR partition without noticing that this invalidates GPT ?) See "Anatomy of a Fedora 17 ISO image" https://mjg59.dreamwidth.org/11285.html preceeded by "Further adventures in EFI booting" https://mjg59.dreamwidth.org/4957.html The EFI images, which he and nearly all others use, are made with GRUB2. grub-mkrescue does a similar stunt about x86 machine code without side effects and the Block0 of an Apple Partition Map. But it does not combine a non-protective MBR with GPT. Michel - on his way to India - could zeroize 512-byte block 1 of the Debian Live ISO and then try to boot it from USB stick dd if=/dev/zero conv=notrunc bs=512 seek=1 count=1 of=...image.or.stick... where "...image.or.stick..." mabe either something like debian-live-*.iso or /dev/sdc. This would further deface the GPT and possibly de-confuse the firmware. Michel, i will try to remember to remind you, when you are back. :)) ------------------------------------------------------------------------- The partition tables of modified and vanilla grub-mkrescue ISOs: This is the modified one from grub-mkrescue-sed.sh : > root@zafu:/# xorriso -indev stdio:/dev/sdb -report_el_torito plain > -report_system_area plain > ... > El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA > El Torito boot img : 1 BIOS y none 0x0000 0x00 4 1487 > El Torito boot img : 2 UEFI y none 0x0000 0x00 5760 7154 > El Torito img path : 1 /boot/grub/i386-pc/eltorito.img > El Torito img opts : 1 boot-info-table grub2-boot-info We see that it's with EFI equipment. (LBA counts blocks of 2048 bytes. Ldsiz counts blocks of 512 bytes. Blame IBM and Phoenix, not me.) > MBR partition table: N Status Type Start Blocks > MBR partition : 1 0x80 0x00 64 28552 > MBR partition : 2 0x00 0xef 28616 5760 (Here all block numbers are counted with 512 bytes per block.) By the options manipulation of grub-mkrescue-sed.sh the EFI partition image was appended after the mountable ISO 9660 partition. Other than with vanilla grub-mkrescue both partitions are marked in the MBR partition table. Partition 1 has the Boot/Active flag set, because some firmwares ignore media which do not have it on any partition. Partition 2 is the EFI partition. The same bytes as the El Torito UEFI boot image. (7154 * 2048 / 512 = 28616) Vanilla grub-mkrescue would rather look like: El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA El Torito boot img : 1 BIOS y none 0x0000 0x00 4 4047 El Torito boot img : 2 UEFI y none 0x0000 0x00 5760 85 El Torito img path : 1 /boot/grub/i386-pc/eltorito.img El Torito img opts : 1 boot-info-table grub2-boot-info El Torito img path : 2 /efi.img ... MBR partition table: N Status Type Start Blocks MBR partition : 1 0x00 0xee 1 34779 GPT : N Info GPT disk GUID : 04a5adf35d1adb4382bf8300bebe08a1 GPT entry array : 20 176 separated GPT lba range : 64 34734 34779 GPT partition name : 1 4700610070003000 GPT partname local : 1 Gap0 ... GPT partition name : 2 450046004900200062006f006f007400200070006100720074006900740069006f006e00 GPT partname local : 2 EFI boot partition GPT partition GUID : 2 04a5adf35d1adb4382bd8300bebe08a1 GPT type GUID : 2 28732ac11ff8d211ba4b00a0c93ec93b GPT partition flags: 2 0x1000000000000001 GPT start and size : 2 340 5760 GPT partition path : 2 /efi.img ... GPT start and size : 4 34132 600 plus maybe APM : N Info APM block size : 2048 ... Other than with the mbr_only version, the EFI partition is a data file inside the ISO 9660 filesystem: /efi.img 247 lines of explanation of the report format are available with xorriso -report_system_area help -report_el_torito help | less Have a nice day :) Thomas _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel