Hi, i inspect the image by
xorriso-1.3.8 -indev test-efigrub.iso \ -report_el_torito plain \ -report_system_area plain and get Boot record : El Torito , MBR protective-msdos-label cyl-align-off GPT APM ... Volume id : 'PCBSD_INSTALL' El Torito catalog : 1763 1 El Torito cat path : /boot.catalog El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA El Torito boot img : 1 UEFI y none 0x0000 0x00 5760 140 El Torito img path : 1 /efi.img System area options: 0x00000201 System area summary: MBR protective-msdos-label cyl-align-off GPT APM ISO image size/512 : 81552 Partition offset : 0 MBR heads per cyl : 64 MBR secs per head : 32 MBR partition table: N Status Type Start Blocks MBR partition : 1 0x00 0xee 1 81551 GPT : N Info GPT disk GUID : 70e9427b66c1b744b42113c17b268b07 GPT entry array : 20 176 separated GPT lba range : 64 81506 81551 GPT partition name : 1 4700610070003000 GPT partname local : 1 Gap0 GPT partition GUID : 1 70e9427b66c1b744b42213c17b268b07 GPT type GUID : 1 a2a0d0ebe5b9334487c068b6b72699c7 GPT partition flags: 1 0x1000000000000001 GPT start and size : 1 64 496 GPT partition name : 2 450046004900200062006f006f007400200070006100720074006900740069006f006e00 GPT partname local : 2 EFI boot partition GPT partition GUID : 2 70e9427b66c1b744b42313c17b268b07 GPT type GUID : 2 28732ac11ff8d211ba4b00a0c93ec93b GPT partition flags: 2 0x1000000000000001 GPT start and size : 2 560 5760 GPT partition path : 2 /efi.img GPT partition name : 3 4700610070003100 GPT partname local : 3 Gap1 GPT partition GUID : 3 70e9427b66c1b744b42013c17b268b07 GPT type GUID : 3 a2a0d0ebe5b9334487c068b6b72699c7 GPT partition flags: 3 0x1000000000000001 GPT start and size : 3 6320 75184 APM : N Info APM block size : 2048 APM gap fillers : 2 APM partition name : 1 Gap0 APM partition type : 1 ISO9660_data APM start and size : 1 16 1564 APM partition name : 2 HFSPLUS_Hybrid APM partition type : 2 Apple_HFS APM start and size : 2 1580 18646 APM partition name : 3 Gap1 APM partition type : 3 ISO9660_data APM start and size : 3 20226 162 So we have no entry points for BIOS but only for EFI. Those, nevertheless, are plenty. :)) -------------------------------------------------------------------- Experiment 1: Remove MBR, GPT, APM, and backup GPT. (by zeroizing the whole ISO System Area and the last 512-block) cp test-efigrub.iso test.iso dd if=/dev/zero conv=notrunc bs=512 count=64 of=test.iso dd if=/dev/zero conv=notrunc bs=512 seek=81551 count=1 of=test.iso Inspection shows: El Torito catalog : 1763 1 El Torito cat path : /boot.catalog El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA El Torito boot img : 1 UEFI y none 0x0000 0x00 5760 140 El Torito img path : 1 /efi.img xorriso : NOTE : No System Area was loaded So if this boots, the firmware either really used El Torito, or it recognizes /efi.img as boot image by some naming rule. -------------------------------------------------------------------- Experiment 2: Remove El Torito too. (by moving the Volume Descriptor Set Terminator to the position of the Boot Record) # using test.iso as emerged from experiment 1 dd if=test-efigrub.iso bs=2048 count=1 skip=18 | \ dd conv=notrunc bs=2048 count=1 seek=17 of=test.iso Inspection shows: Volume id : 'PCBSD_INSTALL' xorriso : NOTE : No El Torito information was loaded xorriso : NOTE : No System Area was loaded If this still boots, then EFI finds /efi.img by miracle. -------------------------------------------------------------------- Experiment 3: Remove El Torito but keep MBR, GPT, APM. (by moving the Volume Descriptor Set Terminator to the position of the Boot Record) cp test-efigrub.iso test.iso dd if=test-efigrub.iso bs=2048 count=1 skip=18 | \ dd conv=notrunc bs=2048 count=1 seek=17 of=test.iso Inspection: Boot record : (system area only) , MBR protective-msdos-label cyl-align-off GPT APM ... Volume id : 'PCBSD_INSTALL' xorriso : NOTE : No El Torito information was loaded System area options: 0x00000201 System area summary: MBR protective-msdos-label cyl-align-off GPT APM ISO image size/512 : 81552 Partition offset : 0 MBR heads per cyl : 64 MBR secs per head : 32 MBR partition table: N Status Type Start Blocks MBR partition : 1 0x00 0xee 1 81551 GPT : N Info GPT disk GUID : 70e9427b66c1b744b42113c17b268b07 GPT entry array : 20 176 separated GPT lba range : 64 81506 81551 GPT partition name : 1 4700610070003000 GPT partname local : 1 Gap0 GPT partition GUID : 1 70e9427b66c1b744b42213c17b268b07 GPT type GUID : 1 a2a0d0ebe5b9334487c068b6b72699c7 GPT partition flags: 1 0x1000000000000001 GPT start and size : 1 64 496 GPT partition name : 2 450046004900200062006f006f007400200070006100720074006900740069006f006e00 GPT partname local : 2 EFI boot partition GPT partition GUID : 2 70e9427b66c1b744b42313c17b268b07 GPT type GUID : 2 28732ac11ff8d211ba4b00a0c93ec93b GPT partition flags: 2 0x1000000000000001 GPT start and size : 2 560 5760 GPT partition path : 2 /efi.img GPT partition name : 3 4700610070003100 GPT partname local : 3 Gap1 GPT partition GUID : 3 70e9427b66c1b744b42013c17b268b07 GPT type GUID : 3 a2a0d0ebe5b9334487c068b6b72699c7 GPT partition flags: 3 0x1000000000000001 GPT start and size : 3 6320 75184 APM : N Info APM block size : 2048 APM gap fillers : 2 APM partition name : 1 Gap0 APM partition type : 1 ISO9660_data APM start and size : 1 16 1564 APM partition name : 2 HFSPLUS_Hybrid APM partition type : 2 Apple_HFS APM start and size : 2 1580 18646 APM partition name : 3 Gap1 APM partition type : 3 ISO9660_data APM start and size : 3 20226 162 So if this does not boot, then El Torito is indeed needed even on USB stick. -------------------------------------------------------------------- One could also remove APM and/or GPT to lure EFI into GPT or MBR. All in all 16 combinations of El Torito, MBR, GPT, and APM are possible. We'd need to zeroize the System Area more selectively to zapp particular table types. Have a nice day :) Thomas _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel