bug-xorriso
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-xorriso] Acer Aspire V5-121 doesn't see USB ISO as bootable


From: Thomas Schmitt
Subject: Re: [Bug-xorriso] Acer Aspire V5-121 doesn't see USB ISO as bootable
Date: Fri, 10 Feb 2017 15:41:46 +0100

Hi,

Carlo Caione wrote:
> libisofs: WARNING : Found hidden El-Torito image. ...

Should be harmless.


> MBR partition table:   N Status  Type        Start       Blocks
> MBR partition      :   1   0x80  0x83            0      4248792
> MBR partition      :   2   0x00  0xef      4248792        18432

That's my favorite UEFI layout. No GPT but rather MBR partition of type 0xef.
Should be ok according to UEFI 2.4.

The byte count of the start address of the UEFI partition exceeds the range
of signed 32 bit. Not that UEFI would impose such a limit, but just to be
sure i would try whether a significantly smaller ISO gets offered for booting.


> --sort-weight 0 --sort-weight 1 /endless

There is a path argument missing after --sort-weight 0.
Don't you get error messages because of the second "--sort-weight" mistaken
as this argument and the next two arguments mistaken as input paths ?

--------------------------------------------------------------------------

> a recent Ubuntu
> zesty-desktop-amd64.iso to the same USB disk the BIOS setup shows "USB
> HDD: Transcend Jetflash" (and it successfully boots into Ubuntu)

Ubuntu follows the mjg layout: ISOLINUX for BIOS and GRUB for UEFI.
An invalid GPT is present as addition to MBR which is not "protective" (i.e.
it contains a meaningful partition table). Plus APM for some Macs.
The UEFI MBR System partition of type 0xef is nested in a MBR partition of
type 0x00, which UEFI is supposed to ignore.

Maybe you have found one of the firmware systems which made Matthew J.
Garrett invent this layout for Fedora.

zesty-desktop-amd64.iso shows the traces of an old bug in libisofs and
xorriso:
  GPT CRC should be  :      0x3acf102f  to match first 92 GPT header block bytes
  GPT CRC found      :      0x5256fd14  matches all 512 bytes of GPT header 
block
Fixed in libisofs version 1.3.0 in may 2013:
  http://bazaar.launchpad.net/~libburnia-team/libisofs/scdbackup/revision/1071

This gives the impression that GPT can hardly be the miracle that lets
the Ubuntu ISO appear as bootable disk.

However, it should be possible to achieve a similar layout from GRUB's
program grub-mkrescue by using my wrapper script
  
https://dev.lovelyhq.com/libburnia/libisoburn/blob/master/frontend/grub-mkrescue-sed.sh

  # Wrapper configuration:
  export MKRESCUE_SED_DEBUG=yes
  export MKRESCUE_SED_MODE=mjg
  export MKRESCUE_SED_XORRISO=...path.to.../xorriso
  export MKRESCUE_SED_PARTNO=2
  export MKRESCUE_SED_PROTECTIVE=no

  # A dummy directory because grub-mkrescue wants some payload
  mkdir ./minmal

  # Producing output.iso :
  grub-mkrescue -o output.iso minimal 
--xorriso=...path.to.../grub-mkrescue-sed.sh

This yields on Debian Sid with installed packages grub-pc, grub-efi-ia32-bin,
grub-efi-amd64-bin:

  ISO image size/512 : 24436
  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  0x83            0        24436
  MBR partition      :   2   0x00  0xef        24436         5760
  GPT                :   N  Info
  GPT disk GUID      :      39461e450154884aa4babdf2f2404792
  GPT entry array    :      16  192  separated
  GPT lba range      :      64  30198  30247
  GPT partition name :   1  48004600530050004c0055005300
  GPT partname local :   1  HFSPLUS
  GPT partition GUID :   1  39461e450154884aa4bbbdf2f2404792
  GPT type GUID      :   1  005346480000aa11aa1100306543ecac
  GPT partition flags:   1  0x1000000000000001
  GPT start and size :   1  336  24100
  GPT partition name :   2  490053004f004800790062007200690064003100
  GPT partname local :   2  ISOHybrid1
  GPT partition GUID :   2  39461e450154884aa4b8bdf2f2404792
  GPT type GUID      :   2  a2a0d0ebe5b9334487c068b6b72699c7
  GPT partition flags:   2  0x1000000000000001
  GPT start and size :   2  24436  5760
  APM                :   N  Info
  APM block size     :      2048
  APM gap fillers    :      0
  APM partition name :   1  HFSPLUS_Hybrid
  APM partition type :   1  Apple_HFS
  APM start and size :   1  84  6025
  APM partition name :   2  Appended2
  APM partition type :   2  Data
  APM start and size :   2  6109  1440

Note that here the UEFI partition is not nested into the ISO partition
and that the GPT is still invalid.

MKRESCUE_SED_DEBUG shows these effective xorriso arguments:

  -as mkisofs \
  -graft-points \
  --modification-date=2016122712245900 \
  -b boot/grub/i386-pc/eltorito.img \
     -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info \
  --grub2-mbr /usr/lib/grub/i386-pc/boot_hybrid.img \
  -hfsplus \
     -apm-block-size 2048 \
     -hfsplus-file-creator-type chrp tbxj 
/System/Library/CoreServices/.disk_label \
     -hfs-bless-by i /System/Library/CoreServices/boot.efi \
  -eltorito-alt-boot \
  -e --interval:appended_partition_2:all:: \
    -no-emul-boot -isohybrid-gpt-basdat \
  -no-pad \
  -append_partition 2 0xef /tmp/grub-mkrescue-sed-efi-img.32559 \
     -part_like_isohybrid \
  -o output.iso \
  -r /tmp/grub.8niQjo \
  --sort-weight 0 / \
  --sort-weight 1 /boot \
  minimal

The disk file
  /tmp/grub-mkrescue-sed-efi-img.32559
is the file /tmp/grub.8niQjo/efi.img which my wrapper moved out of the
GRUB prepared directory /tmp/grub.8niQjo so that it does not get into the
ISO filesystem.

---------------------------------------------------------------------

I would also test whether an original grub-mkrescue ISO without argument
  --xorriso=...path.to.../grub-mkrescue-sed.sh
is booting on that firmware.

It has a "protective" MBR and thus a valid GPT:

  ISO image size/512 : 30844
  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        30843
  GPT                :   N  Info
  GPT disk GUID      :      02962c7e7f0e764da86e52ed0247b7c8
  GPT entry array    :      20  176  separated
  GPT lba range      :      64  30798  30843
  GPT partition name :   1  4700610070003000
  GPT partname local :   1  Gap0
  GPT partition GUID :   1  02962c7e7f0e764da86f52ed0247b7c8
  GPT type GUID      :   1  a2a0d0ebe5b9334487c068b6b72699c7
  GPT partition flags:   1  0x1000000000000001
  GPT start and size :   1  64  272
  GPT partition name :   2  
450046004900200062006f006f007400200070006100720074006900740069006f006e00
  GPT partname local :   2  EFI boot partition
  GPT partition GUID :   2  02962c7e7f0e764da86c52ed0247b7c8
  GPT type GUID      :   2  28732ac11ff8d211ba4b00a0c93ec93b
  GPT partition flags:   2  0x1000000000000001
  GPT start and size :   2  336  5760
  GPT partition path :   2  /efi.img
  GPT partition name :   3  48004600530050004c0055005300
  GPT partname local :   3  HFSPLUS
  GPT partition GUID :   3  02962c7e7f0e764da86d52ed0247b7c8
  GPT type GUID      :   3  005346480000aa11aa1100306543ecac
  GPT partition flags:   3  0x1000000000000001
  GPT start and size :   3  6096  24100
  GPT partition name :   4  4700610070003100
  GPT partname local :   4  Gap1
  GPT partition GUID :   4  02962c7e7f0e764da86a52ed0247b7c8
  GPT type GUID      :   4  a2a0d0ebe5b9334487c068b6b72699c7
  GPT partition flags:   4  0x1000000000000001
  GPT start and size :   4  30196  600
  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  1508
  APM partition name :   2  HFSPLUS_Hybrid
  APM partition type :   2  Apple_HFS
  APM start and size :   2  1524  6025
  APM partition name :   3  Gap1
  APM partition type :   3  ISO9660_data
  APM start and size :   3  7549  162

No mountable ISO partition is present here. This and the fact that it has
a backup GPT makes it less attractive in my eyes.
But Vladimir Serbinko prefers it and he may well know better than me.

---------------------------------------------------------------------

Have a nice day :)

Thomas




reply via email to

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