3 . 1 0 R E L E A S E N O T E S =================================== BUILD NOTES ==================== You will need the following toolchain to build elilo-3.10 from source the elilo build environment is optimized for Debian and Debian based distros. 1. gnu-efi3.0d or greater, elilo-3.10 binaries were built with gnu-efi3.0e-2 shipping in Lenny 2. gcc-4.1.1 or greater, elilo-3.10 binaries were built with: x86 -> 4.2.3-1ubuntu6 x86_64 -> 4.2.3-1ubuntu6 ia64 -> 4.3.2-1.1 3. binutils-2.17.50.0.14 or greater, elilo-3.10 binaries were built with: x86 -> 2.18.1-cvs20080103-0ubuntu1 x86_64 -> 2.18.1~cvs20080103-0ubuntu1 ia64 -> 2.18.1~cvs20080103-7 * if you use a debian based (lenny)build environment you will have no problems and setting it up is simple. you will be able to build elilo in 3 steps: 1. apt-get install gnu-efi, gcc, binutils 2. apt-get source elilo (or download elilo-3.10.tar.gz from SourceForge.) 3. cd ./elilo-3.10 and type make ** If you use the upstream tarballs for the toolchain you will need to move some files around. GNU-EFI (provides the efi 1.10 and uefi 2.x libraries & api) ------- gnu-efi libraries are installed to /usr/local/lib by the upstream gnu-efi source package. elilo expects them to be in system location /usr/lib. efi includes may be located in /usr/local/include/efi. elilo expects them to be in system location /usr/include/efi. BINUTILS (provides the elf conversion utility to produce efi bins) -------- likewise objcopy may be installed to /usr/local/bin by binutils, elilo source expects it to be in /usr/bin. ELILO ON EFI X86_64 ===================== HARD REQUIREMENTS Elilo/x86_64 requires efi64 enabled linux kernel i.e. 2.6.21 or newer nothing earlier will work, 2.6.21 was the earliest kernel that efi64 support went into. You need to compile the kernel with CONFIG_EFI kernel option ON. x86_64 platforms with UEFI 2.0 firmware deprecate UGA protocol and therefore only the Graphics Output Protocol (GOP) is supported. For such platforms, the kernel must be compiled with EFI_FB option ON. This will enable early boot messages on the console. Elilo for x86_64 attempts to query EFI for GOP support and if it fails it defaults to text mode which may or may not show you early console ouput depends on your efi and physical setup. If efi default console ouput is set to serial and you dont have anything attached to the serial port then youre not going to see messages from elilo, duh. WORKING ELILO.CONF FOR EFI X86_64 EXAMPLE Here is my elilo.conf from my UEFI2.0/x86_64 workstation which uses GOP. shows me console output, what elilo is doing, and kernel boot. default=UBUNTU chooser=simple verbose=5 delay=30 append="root=/dev/sda3 vga=0x31e splash showopts" image=/vmlinuz-2.6.24-23-generic label="UBUNTU" description="Ubuntu 2.6.24-23-generic kernel" initrd=/initrd.img-2.6.24-23-generic CHANGES FROM 3.8 TO 3.10 ======================== Patch contributions from David Lombard @ Intel and Stuart Hayes @ Dell thank you. * added PTR_FMT 32bit & 64bit pointer translation for correct output * elilo hang bugfix x86_64 non-standard kernels with non-traditional start address elilo will pull the start address from the kernel elf header for 2.6 or newer kernels, map memory and use that start address, else use standard 1MB default start address. And handle case of overlapping kernels and initrds in memory. * ported kernel start adress and memory overlap handling to ia32 * eliminated all possible compiler warnings except those actually caused by gnu-efi that cant be fixed here. * Debug output improvement, added pauses with visual feedback when user sets debug or verbose options. * bugfix added missing find_bits function definition back into ia32 subtree * bugfix loader_probe now correctly errors out if no loaders registered.