Ubuntu – How to create uefi bootable iso

bootisouefi

I am trying to customize ubuntu-14.04.2-server-amd64.iso, but I am unable to make it uefi bootable.

First I tried with original iso file:

dd if=/path/to/iso/ubuntu-14.04.2-server-amd64.iso of=/dev/sdc bs=16M

Everything is good at this point – I can boot flash in UEFI.

I have extracted iso content to /path/to/tmp folder and then I am trying to re-create iso (right now unmodified), but new iso does not work with uefi.

I am re-creating iso with this command:

mkisofs -r -V "Custom Ubuntu Install CD" -cache-inodes \
        -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat \
        -no-emul-boot -boot-load-size 4 -boot-info-table \
        -eltorito-alt-boot -e boot/grub/efi.img -no-emul-boot \
        -o /path/to/tmp.iso /path/to/tmp

Then I am using same dd command to put new iso on usb. What is right command to make it uefi bootable?

Best Answer

You could use xorriso. I don't remember why but I think this is not possible with mkisofs.

Try:

xorriso -as mkisofs \
  -isohybrid-mbr /usr/lib/syslinux/mbr/isohdpfx.bin \
  -c isolinux/boot.cat \
  -b isolinux/isolinux.bin \
  -no-emul-boot \
  -boot-load-size 4 \
  -boot-info-table \
  -eltorito-alt-boot \
  -e boot/grub/efi.img \
  -no-emul-boot \
  -isohybrid-gpt-basdat \
  -o /path/to/tmp.iso \
  /path/to/tmp

This will produce an hybrid MBR/EFI iso

http://www.syslinux.org/wiki/index.php/Isohybrid

Related Question