[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-xorriso] Adding files to an ISO image
From: |
Thomas Schmitt |
Subject: |
Re: [Bug-xorriso] Adding files to an ISO image |
Date: |
Sun, 09 Nov 2014 19:09:29 +0100 |
Hi,
i made more experiments with modifying or growing grml96-small_2014.03.iso.
The MBR with isohybrid is ok. So BIOS from USB stick should work.
But GPT is not updated by boot_image "patch" or "keep".
/boot/efi.img has quite some probability to stay at its position.
In this case UEFI from USB stick should work too.
Nevertheless, the best result is achieved with the commands
proposed by my experimental code and executed by xorriso-1.3.8
(back to xorriso-1.2.6 with some minor GPT bugs):
dd if=grml96-small_2014.03.iso bs=512 count=1 of=isohdpfx.bin
xorriso \
-indev grml96-small_2014.03.iso \
-outdev test_redone.iso \
-as mkisofs \
-isohybrid-mbr isohdpfx.bin \
-partition_cyl_align on \
-partition_offset 0 \
-partition_hd_cyl 64 \
-partition_sec_hd 32 \
-c '/boot/isolinux/boot.cat' \
-b '/boot/isolinux/isolinux.bin' \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e '/boot/efi.img' \
-no-emul-boot \
-boot-load-size 512 \
-isohybrid-gpt-basdat \
-- \
-add $something --
The creation of isohdpfx.bin by dd is necessary, because
-isohybrid-mbr "." is only understood by the current SVN version
of libisoburn, but not by the released versions.
xorriso-1.3.8 command -boot_image lacks the equivalent of
isohybrid-gpt-basdat. So one has to use -as mkisofs emulation
for now.
-boot_image isolinux partition_entry=gpt_basdat
This results in a neat bootable image:
El Torito catalog : 109 1
El Torito cat path : /boot/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 193192
El Torito boot img : 2 UEFI y none 0x0000 0x00 512 193064
El Torito img path : 1 /boot/isolinux/isolinux.bin
El Torito img opts : 1 boot-info-table isohybrid-suitable
El Torito img path : 2 /boot/efi.img
System area options: 0x00000102
System area summary: MBR isohybrid cyl-align-on GPT
ISO image size/512 : 774144
Partition offset : 0
MBR heads per cyl : 64
MBR secs per head : 32
MBR partition table: N Status Type Start Blocks
MBR partition : 1 0x80 0x00 0 774144
MBR partition : 2 0x00 0xef 772256 512
MBR partition path : 2 /boot/efi.img
GPT : N Info
GPT disk GUID : 20efed5eedf3f24f95f7ed0248076323
GPT entry array : 2 248 overlapping
GPT lba range : 64 774080 774143
GPT partition name : 1 490053004f00480079006200720069006400
GPT partname local : 1 ISOHybrid
GPT partition GUID : 1 20efed5eedf3f24f95f5ed0248076323
GPT type GUID : 1 a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags: 1 0x1000000000000001
GPT start and size : 1 0 774080
GPT partition name : 2 490053004f004800790062007200690064003100
GPT partname local : 2 ISOHybrid1
GPT partition GUID : 2 20efed5eedf3f24f95f4ed0248076323
GPT type GUID : 2 a2a0d0ebe5b9334487c068b6b72699c7
GPT partition flags: 2 0x1000000000000001
GPT start and size : 2 772256 512
GPT partition path : 2 /boot/efi.img
Improvements over the original grml96-small_2014.03.iso:
MBR partition 2 points to the UEFI boot image. Thus you get another
boot path for mislead UEFI implementations.
The GPT is flawless, i hope. SYSLINUX program isohybrid until
recently produced rather rotten GPT (which worked nevertheless).
Well, xorriso had its GPT bugs too (and worked nevertheless).
Have a nice day :)
Thomas