Booting with UEFI firmware

Most embedded PC designs and some ARM designs have firmware based on the Universal Extensible Firmware Interface (UEFI) standard, see the official website at http://www.uefi.org for more information. The boot sequence is fundamentally the same as described in the preceding section:

Phase 1: The processor loads the UEFI boot manager firmware from flash memory. In some designs, it is loaded directly from NOR flash memory, in others there is ROM code on-chip which loads the boot manager from SPI flash memory. The boot manager is roughly equivalent to the SPL, but may allow user interaction through a text-based or graphical interface.

Phase 2: The boot manager loads the boot firmware from the EFI System Partition (ESP) or a hard disk or SSD, or from a network server via PXE boot. If loading from a local disk drive, the EXP is identified by a well-known GUID value of C12A7328-F81F-11D2-BA4B-00A0C93EC93B. The partition should be formatted using the FAT32 format. The third stage bootloader should be in a file named <efi_system_partition>/boot/boot<machine_type_short_name>.efi.

For example, the file path to the loader on an x86_64 system is: /efi/boot/bootx64.efi

Phase 3: The TPL in this case has to be a bootloader that is capable of loading a Linux kernel and an optional RAM disk into memory. Common choices are: