[Top][All Lists]

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

Re: Trying to create UEFI & Bios bootable .iso using xorriso

From: Thomas Schmitt
Subject: Re: Trying to create UEFI & Bios bootable .iso using xorriso
Date: Wed, 08 Jan 2020 16:18:03 +0100


larry wrote:
> I'm using xorriso to create an iso that boots on both Bios and EFI. The iso
> boots fine on a bios machine but isn't even recognized on an EFI machine.

You seem to have provided the necessary options for your xorriso -as mkisofs

The combination of
   -e --interval:appended_partition_2:all::
is unusual. I advise to omit
because the resulting GPT is invalid anyways because of the two emerging MBR

For clarity i advise to move
  -append_partition 2 0xef efi.img
  -e --interval:appended_partition_2:all::
because the former causes the partition to be added while the latter then
refers as target of the El Torito Catalog entry for EFI.

> foxclone025-02.iso1 *        0 1351679 1351680  660M  0 Empty
> foxclone025-02.iso2        276    5203    4928  2.4M ef EFI (FAT-12/16/32)

Partition 2 is lure for EFI if the ISO is presented on USB stick.

> Section Header Entry:
>    Header Indicator: 0x91 (Final Section Header Entry)
>    PlatformId: 0xef (EFI)
> ...
> Boot Catalog Section Entry:
>    Entry is bootable
>    Boot Media emulation type: no emulation

This is the entry in the El Torito Catalog. It serves as lure for EFI if
the ISO is presented on CD, DVD, or BD medium.


Now we are getting a bit off topic for this list. But i watch your efforts
in the stackexchange empire since a few days. Their captcha test does not let
my browser pass. So i only answered to the one direct xorriso issue using
a Debian 10 Live system.

The next thing to do would be to mount the file efi.img and to look whether
the boot program (made by grub-mkimage) is at the correct position.
E.g. mounting by

  sudo mkdir /mnt/fat
  sudo mount -o loop efi.img /mnt/fat

and inspection by

  find /mnt/fat

should list at least


Fishy looking are:

> mcopy -i $BOOT_IMG -s $BOOT_IMG_DATA/efi ::

I cannot find any mcopy manual which mentions option -i.

> grub-mkimage \

There is no embedding of a config file to see (-c) and you put no .cfg
file into the efi.img. See

But EFI should not care about this and at least bring you to a GRUB prompt.
You could make a minimal grub-mkrescue image and compare the behavior of
  mkdir minimal
  touch minimal/empty-file.txt
  grub-mkrescue -o output.iso minimal

Whatever, you will need a GRUB configuration.
Older Debian ISOs have embedded confgurations in their bootx64.efi and the
newer ones have a configuration file /efi/debian/grub.cfg in efi.img.
Both seem to make the connection to the GRUB stuff in the ISO
  search --file --set=root /.disk/info
  set prefix=($root)/boot/grub
  source $prefix/x86_64-efi/grub.cfg

But since you started by an ISO without any GRUB equipment, you will probably
not have it now.
You could copy it from a Debian ISO

  sudo mkdir /mnt/iso
  sudo mount -o loop debian-10.0.0-amd64-netinst.iso /mnt/iso
  find /mnt/iso/boot/grub | less

shows 264 lines. (boot/grub/efi.img is the EFI partition image, which you
will not need to copy.)
The content of the main .cfg file would have to be adapted to your needs:

But after you translated your ISOLINUX configuration to a GRUB configuration,
why struggeling with grub-mkimage and xorriso when you can let grub-mkrescue
do the job of controlling both ?
A bit more tangible:
One of the many toy operatings systems which use grub-mkrescue

The boot audience for grub-mkrescue is defined by the installed GRUB
architectures. Stuff like listed for BIOS, 64 bit EFI, 32 bit EFI in:

If you need help with installing GRUB for above targets or with converting
ISOLINUX configuration to GRUB, you may try this mailing list

Have a nice day :)


reply via email to

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