I want to make a live CD with a modified UEFI enabled build of ttylinux. (I think the actual distro is not much of importance as long as the kernel is new enough and compiled with EFI support). I don't want to install on disk, create ESP, etc, just create a UEFI bootable CD.
I have managed somehow using RHEL6's modified legacy GRUB using Peter Jones' article
as example by making the iso this way:
mkisofs -U -J -joliet-long -r -v -T -o ttylinux.iso -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e efiboot.img -no-emul-boot .
where efiboot.img is a floppy image containing Red Hat's BOOTX64.efi.
However I am not sure what legal implication may have using this boot loader. So I set to build GRUB2 and try with it.
After the build I made the BOOTX64.efi file using Ubuntu's article
../grub-mkimage -O x86_64-efi -d . -o BOOTX64.efi -p "/EFI/BOOT" part_gpt part_msdos fat ext2 normal chain boot \
configfile linux multiboot jfs iso9660
After making the iso and booting from it, it loads in grub shell. Besides, after manually invoking linux, initrd, and boot commands, the machine (an ESX 5.0 VM) hangs. What is stranger - I have built an iso with Ubuntu 11.10 files the same way, even using Ubuntu's GRUB. It also loads in grub shell and can't boot. BIOS boot with isolinux is fine, I am having problems only with UEFI boot.
I would appreciate if a guru shared some wisdom about this case.