.. 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
