annotate README.gnu-efi @ 2:62b6c885f8b3 default tip

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