2004-02-23 13:11:30 +00:00
|
|
|
|
|
|
|
IMPORTANT Information related to the gnu-efi package
|
2007-07-20 13:30:47 +00:00
|
|
|
and x86_64 efi support
|
2004-02-23 13:11:30 +00:00
|
|
|
----------------------------------------------------
|
|
|
|
August 2003
|
|
|
|
|
|
|
|
As of version elilo-3.0, the gnu-efi package is now split in two different packages:
|
|
|
|
|
|
|
|
-> gnu-efi-X.y: contains the EFI library, header, files, and crt0.
|
|
|
|
|
|
|
|
-> elilo-X.y : contains the ELILO bootloader.
|
|
|
|
|
|
|
|
Note that X.y don't need to match for both packages. However elilo-3.x requires at
|
|
|
|
least gnu-efi >= 3.0. When using a version of gcc >3.0 you MUST use at least gnu-efi-3.0a.
|
|
|
|
|
2007-07-20 13:30:47 +00:00
|
|
|
Note that EFI support for x86_64 has been added as a patch to gnu-efi-3.0c.
|
|
|
|
|
|
|
|
For x86_64, see the important notes under x86_64.
|
|
|
|
|
2004-02-23 13:11:30 +00:00
|
|
|
IMPORTANT NOTE FOR IA-32:
|
|
|
|
-------------------------
|
|
|
|
For IA-32, the Redhat 8.0 toolchain is known to produce
|
|
|
|
working binaries when used with gnu-efi-3.0a + loader
|
|
|
|
script patch which is included in the gnu-efi-3.0a-ia32.patch
|
|
|
|
in this package. The toolchain includes:
|
|
|
|
|
|
|
|
gcc: gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
|
|
|
|
as: GNU assembler version 2.13.90.0.2 (i386-redhat-linux) using BFD version
|
|
|
|
2.13.90.0.2 20020802
|
|
|
|
ld: GNU ld version 2.13.90.0.2 20020802
|
|
|
|
|
|
|
|
The Redhat 9.0 toolchain does not work at the moment.
|
|
|
|
|
|
|
|
The gnu-efi package can be downloaded from:
|
|
|
|
|
|
|
|
ftp://ftp.hpl.hp.com/pub/linux-ia64/gnu-efi-X.y.tar.gz
|
2007-07-20 13:30:47 +00:00
|
|
|
|
|
|
|
IMPORTANT NOTE FOR x86_64:
|
|
|
|
-------------------------
|
|
|
|
|
|
|
|
EFI x86_64 elilo support requires the following libraries:
|
|
|
|
|
|
|
|
1. gnu-efi-3.0c library with x86_64 support.
|
|
|
|
|
|
|
|
2. The toolchain known to produce working x86_64 efi binary are:
|
|
|
|
|
|
|
|
gcc-4.1.1 or above
|
|
|
|
binutils-2.17.50.0.14 with Intel64 EFI support
|
|
|
|
|
|
|
|
Implementation:
|
|
|
|
--------------
|
|
|
|
Calls to EFI services in x86_64 require a wrapper to pass the arguments
|
|
|
|
in the appropriate manner. This is implemented with efi wrapper.
|
|
|
|
For IA32 and IA64, the wrapper is a macro that merely calls the
|
|
|
|
EFI services directly. The elilo source has been modified to use the
|
|
|
|
efi wrapper implemented in gnu-efi-3.0c library.
|
|
|
|
elilo for x86_64 and its dependent libraries are built and the final
|
|
|
|
ELF image is converted into PE-COFF image using the objcopy supported
|
|
|
|
by binutils-2.17.50.0.14 or above with Intel64 EFI support.
|
|
|
|
|
|
|
|
On UEFI 2.0 firmware, only Graphics Output Protocol (GOP) is supported.
|
|
|
|
The x86_64 elilo first queries video information from GOP failing which
|
|
|
|
it queries for text mode support. The video information is passed to
|
|
|
|
Linux kernel via boot parameter. The GOP support requires
|
|
|
|
Linux kernel EFI framebuffer driver (kernel configuration option).
|