I am attempting to create a custom Ubuntu 16.04 LTS Server installation media and have been following the instruction here https://help.ubuntu.com/community/InstallCDCustomization
When I attempt to run the commands:
# Hybrid/UEFI
IMAGE=jeremy-uefi.iso
BUILD=/opt/cd-image/
xorriso -as mkisofs -r -V "Jeremys" \
-J -l -b isolinux/isolinux.bin \
-c isolinux/boot.cat -no-emul-boot \
-isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
-eltorito-alt-boot \
-e boot/grub/efi.img \
-isohybrid-gpt-basdat \
-boot-load-size 4 -boot-info-table \
-o $IMAGE $BUILD
I get the following:
xorriso 1.4.2 : RockRidge filesystem manipulator, libburnia project.
Drive current: -outdev 'stdio:/opt/jeremy-uefi.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 31.8g free
Added to ISO image: directory '/'='/opt/cd-image'
xorriso : UPDATE : 2963 files added in 1 seconds
xorriso : UPDATE : 2963 files added in 1 seconds
libisofs: FAILURE : Invalid image size 2368 Kb. Must be one of 1.2, 1.44or 2.88 Mb
libisofs: FAILURE : Trying to use an invalid file as boot image
xorriso : FAILURE : Could not attach El-Torito boot image to ISO 9660 image
xorriso : NOTE : -return_with SORRY 32 triggered by problem severity FAILURE
I have tracked the issue down to the boot/grub/efi.img image. However, after fighting with it all day, I haven't been able to get around it.
The obvious solution would be to make a new fat16 file system that is 2.88 Mb and copy the contents of the efi.img over to it, and substitute the original file. But it begs the question, how was the original Ubuntu CDs made?