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

Re: Live System on USB



Hi,

Stefan Kropp wrote:
> Is the first ISO a Hybrid and the second a 'normal' iso?

If you want to see the boot lures of an ISO do:

  ISO=...path.to.ISO.image.or.USB.stick.with.ISO...

  xorriso -indev "$ISO" -report_el_torito plain -report_system_area plain

With ISO=debian-live-11.1.0-amd64-xfce.iso it reports:

  ...
  xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded

This xorriso run won't write, so this note is true but does not matter.

  ...
  Boot record  : El Torito , MBR isohybrid cyl-align-off GPT

This is a summary of detected boot lures. I.e.
- there is a boot catalog for booting from optical medium,
- an MBR with x86 code is present,
- which transfers execution to the El Torito boot image for BIOS,
- the MBR partition table is not aligned to any legacy address cylinder,
- there is a GPT header block and a partition array

Now come details about the El Torito boot catalog and the boot images
which it offers:

  El Torito catalog  : 367  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        1675
  El Torito boot img :   2  UEFI  y   none  0x0000  0x00   5226         368
  El Torito img path :   1  /isolinux/isolinux.bin
  El Torito img opts :   1  boot-info-table isohybrid-suitable
  El Torito img path :   2  /boot/grub/efi.img

So there are images for legacy BIOS and EFI. The BIOS image is a program
from the SYSLINUX/ISOLINUX project. The EFI image is obviously from GRUB.

Like in one of your ISOs

> Device     Boot   Start       End   Sectors  Size Id Type
> /dev/sda1  *         64   4746719   4746656  2,3G  0 Empty
> /dev/sda2           740      6051      5312  2,6M ef EFI (FAT-12/16/32)

there is:

  MBR partition table:   N Status  Type        Start       Blocks
  MBR partition      :   1   0x80  0x00            0      4882432
  MBR partition      :   2   0x00  0xef         1472         5226
  MBR partition path :   2  /boot/grub/efi.img

The MBR partition table does not announce the GPT (by a single partition
of type 0xEE) but rather has an EFI partition which marks the same file
inside the ISO which already serves as El Torito boot image for EFI.
Partition 1 encloses partition 2, which is forbidden by EFI. So the type
of partition 1 is set to 0x00 to let it appear unused to EFI.

The GPT in the ISO is only ornamental and not valid.
(It appeases some EFI implementations which won't boot from a USB stick
that does not smell like GPT.)

  GPT                :   N  Info
  ...
  GPT partition path :   2  /boot/grub/efi.img


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

> I have one ISO image which looks likes this
> --------------------------
>  boot
> '[BOOT]'
> EFI
> efi.img
> isolinux
> live
> sha256sum.README
> sha256sum.txt
> --------------------------

This looks half like the root directory of debian-live-11.1.0-amd64-xfce.iso
and half like something different.
Missing are 'd-i' and 'pool'. Surplus are "'[BOOT]'", 'efi.img',
'sha256sum.README', 'sha256sum.txt'.
The name "'[BOOT]'" might be an artefact of the tool by which you inspect
the ISO. Some show the El Torito boot catalog as pseudo directory.


> When I create a ISO, now (I don't know what I did) the ISO looks
> like:
>  * mkisofs

What is in this file ? A program ? Some text ?
It's long ago that the Debian world used mkisofs.

>  * fs.lst

.lst was the suffix of old GRUB Legacy. Nowadays it is .cfg.

Maybe you reactivated some outdated code ?


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

> I created a new partition.
> (I think this breaks something (mbr?) - I was not able to boot
> the live system).

Did it boot before you added the partition ?

Note that the MBR is only of interest if you boot via legacy BIOS.
EFI in its native mode will boot via the partition of type 0xEF ("EFI").

You could check the MBR for alterations by comparing the first 446 bytes of
unaltered ISO image and USB stick:

  dd if="$ISO" bs=1 count=446 of=/tmp/iso_mbr
  dd if=/dev/sda bs=1 count=446 of=/tmp/stick_mbr
  diff /tmp/iso_mbr /tmp/stick_mbr


Have a nice day :)

Thomas


Reply to: