annotate README.gnu-efi @ 17:5dd44ab62c24 default tip

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