Thanks to Juanito for recompiling the linux 64 bit kernel we now have a solution to booting efi, Huge thanks to Juanito.
My working EFI USB frugal configuration uses rEFInd and Grub2 with Core64 + vmlinuz64 (Juanito modded version). I can make an image, copy to any USB and boot efi based mac's (and possibly pc's). no matter what drive configuration exists.
Now I really appreciate the use of Label's. Never thought I'd need to but without a label on the USB file system Core would never find the tce directory during boot. That is unless I renamed tce to cde (but I think that has some drawbacks).
USB is GPT partitioned and formatted with FAT32
USB Directory structure:
/EFI/
/EFI/BOOT/
/EFI/BOOT/BOOTX64.EFI
/EFI/BOOT/grub64.EFI
/EFI/BOOT/refind.conf
/EFI/BOOT/icons/(icon's)
/EFIBOOT/linux64/(core kernel)
/boot/grub/
/boot/grub/(all grub module's)
/boot/grub/grub.cfg
/tce/
/tce/mydata.tgz
/tce/onboot.lst
/tce/xwbar.lst
/tce/ondemand/
/tce/optional/(all.tcz's)
Configuration file : refind.conf
timeout 30
#textonly
scan_driver_dirs EFI/tools/drivers,drivers
scanfor internal,external,optical,manual,cd,bio.ternal
also_scan_dirs boot,EFI
scan_all_linux_kernels
maxtags=0
default_selection 1
# Minimal Grub entry
menuentry "MYTOOLS" {
icon EFI/boot/icons/os_linux.icns
label="LINUX"
loader /EFI/boot/grub64.efi
}
Configuration file : grub.conf
# grub2 configuration
loadfont unicode
insmod part_apple
insmod part_bsd
insmod part_gpt
insmod part_msdos
insmod search
insmod all_video
insmod gfxterm
set gfxmode=640x480x32
set gfxpayload=1024x768x32
terminal_output gfxterm
insmod fixvideo
#Timeout for menu
set default=0
set timeout=10
#search --no-floppy --fs-LABEL --set=root LINUX
#FrameBuffer Menu Entry
menuentry " EFI Desktop Mode " {
linux /boot/linux64/vmlinuz64 quiet tce=LABEL=<MyDriveLabel> vga=792 waitusb=10 noswap tz=GMT blacklist=bcma blacklist=ssb blacklist=b43
initrd /boot/linux64/core64.gz
}
#Text Mode Menu Entry
menuentry "EFI Text Mode (Recovery) " {
linux /boot/linux64/vmlinuz64 quiet tce=LABEL=<MyDriveLabel> vga=792 waitusb=10 noswap text tz=GMT blacklist=bcma blacklist=ssb blacklist=b43
initrd /boot/linux64/core64.gz
}
I had renamed the modded linux kernel to vmlinuz64 due to testing with ELILO boot loader (which was unsuccessful.
My only weird issue remaining is that colors displayed on a MACbook screen are currently switched/inverted if you like. ie: Red is displayed as Blue, Yellow is Cyan and Blue is some kind of dirty Red, which can make for some memories of psychedelic days! The video adapter / driver is displaying the correct colors as shown in a screenshot (or aiui another monitor out).
I think this is due to Grub2 v1.99-21 being compiled on a PC instead of a MAC. Am going to recompile, then try again., heck I might even try Grub2 EFIv2.0 ?