3 . 1 2 R E L E A S E N O T E S =================================== QUICK SUMMARY ==================== * FIXES MAC CONSOLE ISSUE * FIXES NETBOOT BROKEN * FIXES EXITBOOTSERVICES FAILURE * TEMP FIX INCREASE BZIMAGE LIMITS BUILD NOTES ==================== You will need the following toolchain to build elilo-3.12 from source the elilo build environment is optimized for Debian and Debian based distros. 1. gnu-efi3.0d or greater, (you will want gnu-efi3.0i or > for cross build env setups) elilo-3.12 binaries were built with gnu-efi3.0e-2 2. gcc-4.1.1 or greater, elilo-3.12 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.12 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.12.tar.gz from SourceForge.) 3. cd ./elilo-3.12 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 EFI + 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. WORKING ELILO.CONF FOR EFI X86_64 EXAMPLE Here is my elilo.conf from my UEFI2.0/x86_64 (with nvidia pcie add on card, i.e. your vga= kernel param may be different) 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.10 TO 3.12 ======================== Patch contributions from Julen Blache @ Debian thank you. ** ADDS MAC IA32 NATIVE BOOT SUPPORT (i.e. consplitter fix) * Added additional #defines for debug levels to reduce the output noise * Added Mac console patch rework from Julien Blache @ debian this fixes the invisible console output from elilo on Macs * Moved static ELILO_VERSION variable from elilo.c to elilo.h so that elilo will print its version string and arch on startup. * Fixed bug 2825044 ExitBootServices error handling, correctly deal with changed memory map key if memory map changes from under elilo. * Added memory map key to map debug output. * Fixed bug 2874380 netbooting just flat broken. fixed ia64, x86_64 ia32, fixed handling of server side support of tfpt options (get file size) elilo now attempts to get file size before attempting read of file to set the buffers up correctly and deal with tftp servers that dont support options extensions a little better. * netboot, fixed bad blocksize handling * netboot, fixed filename length for elilo-x86_64.conf type on tftp server. * increased bzimage kernel max length sizes to 4mb on i386 and 8mb on x86_64... this is a legacy design hold over from original design and needs to be re-written to do dynamic size memory management based on the size of the actual vmlinuz image, as ia64/gzip does.