Build UEFI ISO
sudo apt install -y grub-efi-amd64-bin mtools xorriso mkisofs
mkdir -p iso/boot/grub
mkdir -p iso/EFI/BOOT
cp /tmp/ironic-python-agent.initramfs iso/boot/initrd.img
cp /tmp/ironic-python-agent.kernel iso/boot/vmlinuz
cat < iso/boot/grub/grub.cfg
set timeout=0
set root=(cd0)
set prefix=(memdisk)/boot/grub
menuentry 'Linux' {
echo 'Loading kernel...'
linux /boot/vmlinuz console=tty0 rw
echo "Loading initrd..."
initrd /boot/initrd.img
echo "Booting..."
}
EOF
grub-mkstandalone -o iso/EFI/BOOT/BOOTX64.EFI -O x86_64-efi "boot/grub/grub.cfg=iso/boot/grub/grub.cfg"
dd if=/dev/zero of=iso/EFI/BOOT/efiboot.img bs=1M count=10
mkfs.msdos -F 12 -n 'EFIBOOTISO' iso/EFI/BOOT/efiboot.img
mmd -i iso/EFI/BOOT/efiboot.img ::EFI
mmd -i iso/EFI/BOOT/efiboot.img ::EFI/BOOT
mcopy -i iso/EFI/BOOT/efiboot.img iso/EFI/BOOT/BOOTX64.EFI ::EFI/BOOT/BOOTX64.EFI
xorriso -as mkisofs -V 'EFI_ISO_BOOT' -e EFI/BOOT/efiboot.img -no-emul-boot -o /tmp/efi-boot.iso iso/Rebuild efi-boot.iso as Ironic esp.img UEFI image
cat < iso/boot/grub/grub.cfg
set timeout=0
set root=(cd0)
set prefix=(memdisk)/boot/grub
configfile /EFI/ubuntu/grub.cfg
EOF
ls -l /httpboot/
total 973693
-rw-r--r-- 1 root root 10485760 Feb 11 17:28 esp.img
-rw-r--r-- 1 root root 531835089 Feb 11 14:20 ipa.initramfs
-rw-r--r-- 1 root root 11662080 Feb 11 14:21 ipa.kernel
Links
https://forums.fogproject.org/topic/15465/getting-fos-on-a-bootable-iso-image/7
https://forums.fogproject.org/topic/7727/building-usb-booting-fos-image/23
https://forums.fogproject.org/topic/7727/building-usb-booting-fos-image/22
https://github.com/syzdek/efibootiso