orphan
[debian/elilo] / README.gnu-efi
1
2                    IMPORTANT Information related to the gnu-efi package
3                                 and x86_64 efi support 
4                    ----------------------------------------------------
5                                         August 2003
6
7 As of version elilo-3.0, the gnu-efi package is now split in two different packages:
8
9         -> gnu-efi-X.y: contains the EFI library, header, files, and crt0.
10
11         -> elilo-X.y  : contains the ELILO bootloader.
12         
13 Note that X.y don't need to match for both packages. However elilo-3.x requires at
14 least gnu-efi >= 3.0. When using a version of gcc >3.0 you MUST use at least gnu-efi-3.0a.
15
16 Note that EFI support for x86_64 has been added as a patch to gnu-efi-3.0c.
17
18 For x86_64, see the important notes under x86_64.
19
20 IMPORTANT NOTE FOR IA-32:
21 -------------------------
22         For IA-32, the Redhat 8.0 toolchain is known to produce
23         working binaries when used with gnu-efi-3.0a + loader
24         script patch which is included in the gnu-efi-3.0a-ia32.patch
25         in this package. The toolchain includes:
26
27         gcc: gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
28         as: GNU assembler version 2.13.90.0.2 (i386-redhat-linux) using BFD version
29         2.13.90.0.2 20020802
30         ld: GNU ld version 2.13.90.0.2 20020802
31
32         The Redhat 9.0 toolchain does not work at the moment.
33
34 The gnu-efi  package can be downloaded from:
35
36         ftp://ftp.hpl.hp.com/pub/linux-ia64/gnu-efi-X.y.tar.gz
37
38 IMPORTANT NOTE FOR x86_64:
39 -------------------------
40
41         EFI x86_64 elilo support requires the following libraries:
42
43         1. gnu-efi-3.0c library with x86_64 support.
44
45         2. The toolchain known to produce working x86_64 efi binary are:
46
47                 gcc-4.1.1 or above
48                 binutils-2.17.50.0.14 with Intel64 EFI support
49
50         Implementation:
51         --------------
52         Calls to EFI services in x86_64 require a wrapper to pass the arguments
53         in the appropriate manner. This is implemented with efi wrapper. 
54         For IA32 and IA64, the wrapper is a macro that merely calls the
55         EFI services directly. The elilo source has been modified to use the
56         efi wrapper implemented in gnu-efi-3.0c library. 
57         elilo for x86_64 and its dependent libraries are built and the final
58         ELF image is converted into PE-COFF image using the objcopy supported
59         by binutils-2.17.50.0.14 or above with Intel64 EFI support.
60
61         On UEFI 2.0 firmware, only Graphics Output Protocol (GOP) is supported. 
62         The x86_64 elilo first queries video information from GOP failing which
63         it queries for text mode support. The video information is passed to
64         Linux kernel via boot parameter. The GOP support requires
65         Linux kernel EFI framebuffer driver (kernel configuration option).