aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/efi-stub.txt
diff options
context:
space:
mode:
authorRoy Franz <roy.franz@linaro.org>2013-09-28 11:44:21 -0400
committerMatt Fleming <matt.fleming@intel.com>2014-04-30 14:49:41 -0400
commit719e284369d23c3feb02d02ad58b3a516df47806 (patch)
treecedfd4cd2d4db935816b3a6f08da61d61b0c38d8 /Documentation/efi-stub.txt
parentadaf5687846c25613d58c0a2f5d9e024547cdbec (diff)
doc: efi-stub.txt updates for ARM
Update efi-stub.txt documentation to be more general and not x86 specific. Add ARM only "dtb=" command line option description. Signed-off-by: Roy Franz <roy.franz@linaro.org> Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Grant Likely <grant.likely@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'Documentation/efi-stub.txt')
-rw-r--r--Documentation/efi-stub.txt27
1 files changed, 20 insertions, 7 deletions
diff --git a/Documentation/efi-stub.txt b/Documentation/efi-stub.txt
index c628788d5b47..26be7b02a164 100644
--- a/Documentation/efi-stub.txt
+++ b/Documentation/efi-stub.txt
@@ -1,13 +1,16 @@
1 The EFI Boot Stub 1 The EFI Boot Stub
2 --------------------------- 2 ---------------------------
3 3
4On the x86 platform, a bzImage can masquerade as a PE/COFF image, 4On the x86 and ARM platforms, a kernel zImage/bzImage can masquerade
5thereby convincing EFI firmware loaders to load it as an EFI 5as a PE/COFF image, thereby convincing EFI firmware loaders to load
6executable. The code that modifies the bzImage header, along with the 6it as an EFI executable. The code that modifies the bzImage header,
7EFI-specific entry point that the firmware loader jumps to are 7along with the EFI-specific entry point that the firmware loader
8collectively known as the "EFI boot stub", and live in 8jumps to are collectively known as the "EFI boot stub", and live in
9arch/x86/boot/header.S and arch/x86/boot/compressed/eboot.c, 9arch/x86/boot/header.S and arch/x86/boot/compressed/eboot.c,
10respectively. 10respectively. For ARM the EFI stub is implemented in
11arch/arm/boot/compressed/efi-header.S and
12arch/arm/boot/compressed/efi-stub.c. EFI stub code that is shared
13between architectures is in drivers/firmware/efi/efi-stub-helper.c.
11 14
12By using the EFI boot stub it's possible to boot a Linux kernel 15By using the EFI boot stub it's possible to boot a Linux kernel
13without the use of a conventional EFI boot loader, such as grub or 16without the use of a conventional EFI boot loader, such as grub or
@@ -23,7 +26,9 @@ The bzImage located in arch/x86/boot/bzImage must be copied to the EFI
23System Partition (ESP) and renamed with the extension ".efi". Without 26System Partition (ESP) and renamed with the extension ".efi". Without
24the extension the EFI firmware loader will refuse to execute it. It's 27the extension the EFI firmware loader will refuse to execute it. It's
25not possible to execute bzImage.efi from the usual Linux file systems 28not possible to execute bzImage.efi from the usual Linux file systems
26because EFI firmware doesn't have support for them. 29because EFI firmware doesn't have support for them. For ARM the
30arch/arm/boot/zImage should be copied to the system partition, and it
31may not need to be renamed.
27 32
28 33
29**** Passing kernel parameters from the EFI shell 34**** Passing kernel parameters from the EFI shell
@@ -63,3 +68,11 @@ Notice how bzImage.efi can be specified with a relative path. That's
63because the image we're executing is interpreted by the EFI shell, 68because the image we're executing is interpreted by the EFI shell,
64which understands relative paths, whereas the rest of the command line 69which understands relative paths, whereas the rest of the command line
65is passed to bzImage.efi. 70is passed to bzImage.efi.
71
72
73**** The "dtb=" option
74
75For the ARM architecture, we also need to be able to provide a device
76tree to the kernel. This is done with the "dtb=" command line option,
77and is processed in the same manner as the "initrd=" option that is
78described above.