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