2011-01-13 13:46:45 +00:00
|
|
|
3 . 1 4 R E L E A S E N O T E S
|
2009-04-03 13:38:32 +00:00
|
|
|
===================================
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2011-01-13 13:46:45 +00:00
|
|
|
QUICK CHANGE SUMMARY
|
2009-10-26 13:42:58 +00:00
|
|
|
====================
|
2011-01-13 13:46:45 +00:00
|
|
|
* Fixes for newly emerging x86_64 UEFI-2 boxes where long standing old
|
|
|
|
assumptions are borked.
|
|
|
|
* Uptake of SUSE and community patches
|
|
|
|
- add sysfs support for efi vars (formerly /proc/efi/vars)
|
|
|
|
- fix strncpy overflow
|
|
|
|
- fix bzimage alloc
|
|
|
|
- cleanups
|
|
|
|
- support longer command line
|
|
|
|
- yet some more mac fixes
|
|
|
|
- align elilo with latest kernel boot protocol format.
|
|
|
|
- new memory management strategy for initrd and kernel image loading.
|
|
|
|
* add text-mode command line option, force text-mode (bypass graphics probes).
|
|
|
|
* replace error output on GOP handle failed, downgraded to normal
|
|
|
|
print status with more informative output.
|
|
|
|
* Fix ia32 build issue with new gcc due to stack protector enforcement.
|
2009-10-26 13:42:58 +00:00
|
|
|
|
2009-04-03 13:38:32 +00:00
|
|
|
BUILD NOTES
|
|
|
|
====================
|
2011-01-13 13:46:45 +00:00
|
|
|
You will need the following toolchain to build elilo-3.14 from source
|
2009-04-03 13:38:32 +00:00
|
|
|
the elilo build environment is optimized for Debian and Debian based distros.
|
2011-01-13 13:46:45 +00:00
|
|
|
elilo-3.14 was built in the Debian Lenny (Ubuntu 10.04) build environment.
|
|
|
|
Toolchain versions for this release were:
|
|
|
|
x86x(32 &64)
|
|
|
|
* gnu-efi --> 3.0i-2ubuntu1
|
|
|
|
* gcc ------> 4.4.3-1ubuntu1
|
|
|
|
* binutils -> 2.20.1-3ubuntu7
|
|
|
|
ia64
|
|
|
|
* gnu-efi --> 3.0e-2
|
|
|
|
* gcc ------> 4.3.2-2
|
|
|
|
* binutils -> 2.18.1~cvs20080103-7
|
|
|
|
|
2009-04-03 13:38:32 +00:00
|
|
|
* 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
|
2011-01-13 13:46:45 +00:00
|
|
|
2. apt-get source elilo (or download elilo-3.14.tar.gz from SourceForge.)
|
|
|
|
3. extract source tarball and cd ./elilo-3.14 and type $> make
|
|
|
|
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2011-01-13 13:46:45 +00:00
|
|
|
** If you use the upstream toolchain tarballs(i.e. pre distro) you will need
|
|
|
|
to move some files around for elilo build to work.
|
2009-04-03 13:38:32 +00:00
|
|
|
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.
|
2011-01-13 13:46:45 +00:00
|
|
|
[ The reason is LSB compliance ].
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2009-04-03 13:38:32 +00:00
|
|
|
BINUTILS (provides the elf conversion utility to produce efi bins)
|
|
|
|
--------
|
2011-01-13 13:46:45 +00:00
|
|
|
binutils provides objcopy which is installed to /usr/local/bin by binutils,
|
2009-04-03 13:38:32 +00:00
|
|
|
elilo source expects it to be in /usr/bin.
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2011-01-13 13:46:45 +00:00
|
|
|
again this LSB compliance is taken care of by the distro's that fix
|
|
|
|
the toolchains to install to the correct compliant system locations
|
|
|
|
instead of the "user optional" location.
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2009-04-03 13:38:32 +00:00
|
|
|
ELILO ON EFI X86_64
|
|
|
|
=====================
|
|
|
|
HARD REQUIREMENTS
|
2011-01-13 13:46:45 +00:00
|
|
|
EFI + x86_64 REQUIRES an efi64 enabled linux kernel i.e. 2.6.21 or newer
|
2009-04-03 13:38:32 +00:00
|
|
|
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
|
2011-01-13 13:46:45 +00:00
|
|
|
your efi console settings and physical setup. Elilo has no way to know
|
|
|
|
if your console settings are messed up.
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2009-04-03 13:38:32 +00:00
|
|
|
WORKING ELILO.CONF FOR EFI X86_64 EXAMPLE
|
2009-10-26 13:42:58 +00:00
|
|
|
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.
|
2011-01-13 13:46:45 +00:00
|
|
|
Here is a partial kernel vga table I was able to find and add here.
|
|
|
|
Colours 640x400 640x480 800x600 1024x768 1152x864 1280x1024 1600x1200
|
|
|
|
-------+--------------------------------------------------------------
|
|
|
|
4 bits | ? ? 0x302 ? ? ? ?
|
|
|
|
8 bits | 0x300 0x301 0x303 0x305 0x161 0x307 0x31C
|
|
|
|
15 bits | ? 0x310 0x313 0x316 0x162 0x319 0x31D
|
|
|
|
16 bits | ? 0x311 0x314 0x317 0x163 0x31A 0x31E
|
|
|
|
decimal | d785 d788 d791
|
|
|
|
24 bits | ? 0x312 0x315 0x318 ? 0x31B 0x31F
|
|
|
|
|
|
|
|
Additionally from ...kernel-source/Documentation/Boot.txt...
|
|
|
|
vga=<mode>
|
|
|
|
<mode> here is either an integer (in C notation, either
|
|
|
|
decimal, octal, or hexadecimal) or one of the strings
|
|
|
|
"normal" (meaning 0xFFFF), "ext" (meaning 0xFFFE) or "ask"
|
|
|
|
(meaning 0xFFFD). This value should be entered into the
|
|
|
|
vid_mode field, as it is used by the kernel before the command
|
|
|
|
line is parsed.
|
|
|
|
|
|
|
|
example below shows me console output, what elilo is doing, and kernel boot.
|
|
|
|
vga=normal with efi console input output directed to graphics card should
|
|
|
|
work as well.
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2009-04-03 13:38:32 +00:00
|
|
|
default=UBUNTU
|
|
|
|
chooser=simple
|
|
|
|
verbose=5
|
|
|
|
delay=30
|
|
|
|
append="root=/dev/sda3 vga=0x31e splash showopts"
|
2008-01-04 13:34:56 +00:00
|
|
|
|
2011-01-13 13:46:45 +00:00
|
|
|
image=/vmlinuz-2.6.32-27-generic
|
2009-04-03 13:38:32 +00:00
|
|
|
label="UBUNTU"
|
2011-01-13 13:46:45 +00:00
|
|
|
description="Ubuntu 2.6.32-27-generic kernel"
|
|
|
|
initrd=/initrd.img-2.6.32-27-generic
|
2008-01-04 13:34:56 +00:00
|
|
|
|