3 . 1 2 R E L E A S E N O T E S
* FIXES MAC CONSOLE ISSUE
* FIXES NETBOOT BROKEN
* FIXES EXITBOOTSERVICES FAILURE
* TEMP FIX INCREASE BZIMAGE LIMITS
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-188.8.131.52.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
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.
append="root=/dev/sda3 vga=0x31e splash showopts"
description="Ubuntu 2.6.24-23-generic kernel"
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
* 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.