Hi,
thank you for flying xorriso.
The xorriso run looks ok so far (SYSLINUX isohybrid wiki ?).
It advertises the content of file /images/efiboot.img in
El Torito (for CD/DVD) and in MBR partition table (for hard
disk or USB stick). It also does so in a GPT which a standards
compliant EFI should ignore.
This layout stems from Matthew Garret and works well for Debian,
Ubuntu, Arch Linux, at least.
But they all have GRUB equipment in the EFI boot image / system
partition image. Since you possibly read the SYSLINUX wiki, i
have to say that nobody managed to boot SYSLINUX via EFI from
ISO 9660 yet.
As for CentOS ISOs. They differ.
With xorriso >= 1.3.8 one can do:
Code: Select all
xorriso -hfsplus on -indev ...iso \
-report_system_area plain -report_el_torito plain
---------------------------------------------------------------------
CentOS-6.7-x86_64-minimal.iso
Code: Select all
System area summary: MBR isohybrid cyl-align-on
...
MBR partition table: N Status Type Start Blocks
MBR partition : 1 0x80 0x17 0 808960
...
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 BIOS y none 0x0000 0x00 4 82
El Torito boot img : 2 UEFI y none 0x0000 0x00 744 94
El Torito img path : 1 /isolinux/isolinux.bin
El Torito img opts : 1 boot-info-table isohybrid-suitable
El Torito img path : 2 /images/efiboot.img
This will boot via BIOS from CDROM and HDD (e.g. USB stick).
EFI only will see the EFI system partition if the ISO is presented
on CD (or DVD, or BD). On HDD there is no hint towards efiboot.img .
One could probably run SYSLINUX program isohybrid.c on it with
option --uefi in order to produce MBR partition and GPT.
http://www.syslinux.org/wiki/index.php/Isohybrid
(Because MBR has a partition other than a single one of type 0xee,
no EFI or partition editor should recognize GPT.)
Code: Select all
strings /mnt/iso/images/efiboot.img | grep 'GRUB'
yields among other lines
I.e. old GRUB Legacy, not GRUB2 as with Debian.
Well if it boots from CD, there is chance it would boot from HDD.
You will hardly find support for it, though.
---------------------------------------------------------------------
CentOS-6.7-x86_64-LiveCD.iso
Code: Select all
System area summary: MBR isohybrid cyl-align-on
...
MBR partition table: N Status Type Start Blocks
MBR partition : 1 0x80 0x17 0 1427456
...
El Torito catalog : 40 1
El Torito cat path : /isolinux/boot.cat
El Torito images : N Pltf B Emul Ld_seg Hdpt Ldsiz LBA
El Torito boot img : 1 BIOS y none 0x0000 0x00 4 41
El Torito img path : 1 /EFI/boot/isolinux.bin
El Torito img opts : 1 boot-info-table isohybrid-suitable
This will only boot via BIOS or EFI BIOS emulation.
Despite the directory name "/EFI", the file isolinux.bin is advertised
in El Torito only for BIOS. Further it has a boot-info-table which is
prescribed for ISOLINUX (and GRUB/GRUB2) BIOS El Torito boot images.
---------------------------------------------------------------------
Beginning with xorriso-1.4.0, one may ask for replay proposals:
Code: Select all
xorriso -hfsplus on -indev CentOS-6.7-x86_64-minimal.iso \
-report_system_area as_mkisofs
proposes
Code: Select all
-V 'CentOS_6.7_Final'
--modification-date='2015080421592400'
-isohybrid-mbr --interval:local_fs:0s-15s:zero_mbrpt:'CentOS-6.7-x86_64-minimal.iso'
-partition_cyl_align on
-partition_offset 0
-partition_hd_cyl 64
-partition_sec_hd 32
-c '/isolinux/boot.cat'
-b '/isolinux/isolinux.bin'
-no-emul-boot
-boot-load-size 4
-boot-info-table
-eltorito-alt-boot
-e '/images/efiboot.img'
-no-emul-boot
-boot-load-size 744
The --interval argument will take the first 16 * 2048 bytes from
file CentOS-6.7-x86_64-minimal.iso, zeroize its MBR partition table,
and use it like the ISOLINUX isohdpfx.bin file.
Note that option -isohybrid-gpt-basdat is missing.
This means: no MBR partition of type 0xef points to efiboot.img
and no GPT partition does either.
If you add -isohybrid-gpt-basdat you get what isohybrid.c --uefi
does.
Code: Select all
xorriso -hfsplus on -indev CentOS-6.7-x86_64-minimal.iso \
-report_system_area as_mkisofs
proposes
Code: Select all
-V 'CentOS-6.7-x86_64-LiveCD'
--modification-date='2015080716342900'
-isohybrid-mbr --interval:local_fs:0s-15s:zero_mbrpt:'CentOS-6.7-x86_64-LiveCD.iso'
-partition_cyl_align on
-partition_offset 0
-partition_hd_cyl 64
-partition_sec_hd 32
-c '/isolinux/boot.cat'
-b '/EFI/boot/isolinux.bin'
-no-emul-boot
-boot-load-size 4
-boot-info-table
Here we do not even have a second El Torito boot image with option -e.
Have a nice day
Thomas