Using elilo

From Mactel-Linux

elilo is the Linux boot loader for EFI systems. It was initially developed for IA64 (Itanium) systems, but also works on 32-bit EFI machines like the Intel Macs.

This page collects information how elilo can be used on Intel Macs. See Building elilo for information on compiling your own version of elilo.

General

In principle, elilo 3.6 works on the Intel Macs as shipped. However, elilo doesn't know about the switchable text / graphics console introduced in EFI 1.10 and used on the Intel Macs. As a result, plain elilo will prompt you for boot options, but you won't see that prompt. Keyboard input is unaffected, and you can just hit Return to boot the default kernel. There are various patches and workarounds for this issue.

The original Apple firmware contains no backwards compatibility, so you'll need to use the legacy-free option in elilo and a kernel with special EFI support. The main difference here is that control is passed to the kernel in 32-bit mode instead of 16-bit mode.
Please correct the above if it's not quite right.

Speculation: Once we learn how to control the CSM built into the updated firmware, we might be able to enable the emulated BIOS, boot the kernel from elilo through the standard 16-bit entry path, but still pass pointers to the EFI tables to the kernel. That would allow the kernel to access EFI runtime features (reboot/shutdown, NVRAM variables), while also allowing the same kernel to run on standard PCs.

Using elilo standalone

To be written...

See the Dual Booting page in the meantime.

Using elilo with rEFIt

To be written...