59 lines
1.8 KiB
ReStructuredText
59 lines
1.8 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0
|
||
|
|
||
|
=====================================
|
||
|
General note on [U]EFI x86_64 support
|
||
|
=====================================
|
||
|
|
||
|
The nomenclature EFI and UEFI are used interchangeably in this document.
|
||
|
|
||
|
Although the tools below are _not_ needed for building the kernel,
|
||
|
the needed bootloader support and associated tools for x86_64 platforms
|
||
|
with EFI firmware and specifications are listed below.
|
||
|
|
||
|
1. UEFI specification: http://www.uefi.org
|
||
|
|
||
|
2. Booting Linux kernel on UEFI x86_64 platform requires bootloader
|
||
|
support. Elilo with x86_64 support can be used.
|
||
|
|
||
|
3. x86_64 platform with EFI/UEFI firmware.
|
||
|
|
||
|
Mechanics
|
||
|
---------
|
||
|
|
||
|
- Build the kernel with the following configuration::
|
||
|
|
||
|
CONFIG_FB_EFI=y
|
||
|
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||
|
|
||
|
If EFI runtime services are expected, the following configuration should
|
||
|
be selected::
|
||
|
|
||
|
CONFIG_EFI=y
|
||
|
CONFIG_EFIVAR_FS=y or m # optional
|
||
|
|
||
|
- Create a VFAT partition on the disk
|
||
|
- Copy the following to the VFAT partition:
|
||
|
|
||
|
elilo bootloader with x86_64 support, elilo configuration file,
|
||
|
kernel image built in first step and corresponding
|
||
|
initrd. Instructions on building elilo and its dependencies
|
||
|
can be found in the elilo sourceforge project.
|
||
|
|
||
|
- Boot to EFI shell and invoke elilo choosing the kernel image built
|
||
|
in first step.
|
||
|
- If some or all EFI runtime services don't work, you can try following
|
||
|
kernel command line parameters to turn off some or all EFI runtime
|
||
|
services.
|
||
|
|
||
|
noefi
|
||
|
turn off all EFI runtime services
|
||
|
reboot_type=k
|
||
|
turn off EFI reboot runtime service
|
||
|
|
||
|
- If the EFI memory map has additional entries not in the E820 map,
|
||
|
you can include those entries in the kernels memory map of available
|
||
|
physical RAM by using the following kernel command line parameter.
|
||
|
|
||
|
add_efi_memmap
|
||
|
include EFI memory map of available physical RAM
|