elilo/README.gnu-efi

66 lines
2.5 KiB
Text
Raw Permalink Normal View History

IMPORTANT Information related to the gnu-efi package
and x86_64 efi support
----------------------------------------------------
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.
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.
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
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).