mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-06 21:14:18 +00:00

Problem: The x86_64 UEFI doc references Elilo which is an unmaintained/orphaned bootloader project. Also, on x86_64 a bootloader is technically not actually required since there is support for the Linux EFI stub. Solution: Remove the references to Elilo from the doc and refer to the EFI stub doc page, update steps accordingly, and add more details about creation of the EFI partition to improve clarity. Signed-off-by: Nir Lichtman <nir@lichtman.org> Link: https://lore.kernel.org/r/20250108113522.GA897677@lichtman.org Signed-off-by: Jonathan Corbet <corbet@lwn.net>
76 lines
2.5 KiB
ReStructuredText
76 lines
2.5 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 can either be
|
|
done using the <Documentation/admin-guide/efi-stub.rst> or using a
|
|
separate bootloader.
|
|
|
|
3. x86_64 platform with EFI/UEFI firmware.
|
|
|
|
Mechanics
|
|
---------
|
|
|
|
Refer to <Documentation/admin-guide/efi-stub.rst> to learn how to use the EFI stub.
|
|
|
|
Below are general EFI setup guidelines on the x86_64 platform,
|
|
regardless of whether you use the EFI stub or a separate bootloader.
|
|
|
|
- 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 with the EFI System flag
|
|
You can do this with fdisk with the following commands:
|
|
|
|
1. g - initialize a GPT partition table
|
|
2. n - create a new partition
|
|
3. t - change the partition type to "EFI System" (number 1)
|
|
4. w - write and save the changes
|
|
|
|
Afterwards, initialize the VFAT filesystem by running mkfs::
|
|
|
|
mkfs.fat /dev/<your-partition>
|
|
|
|
- Copy the boot files to the VFAT partition:
|
|
If you use the EFI stub method, the kernel acts also as an EFI executable.
|
|
|
|
You can just copy the bzImage to the EFI/boot/bootx64.efi path on the partition
|
|
so that it will automatically get booted, see the <Documentation/admin-guide/efi-stub.rst> page
|
|
for additional instructions regarding passage of kernel parameters and initramfs.
|
|
|
|
If you use a custom bootloader, refer to the relevant documentation for help on this part.
|
|
|
|
- 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
|