mirror of https://gitee.com/openkylin/linux.git
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_EFI_VARS=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
|