bug-xorriso
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]