- Mastering Embedded Linux Programming
- Chris Simmonds
- 290字
- 2021-07-30 09:45:01
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 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:
- GRUB 2: This is the GNU Grand Unified Bootloader, version 2, and it is the most commonly used Linux loader on PC platforms. However, there is one controversy in that it is licensed under GPL v3, which may make it incompatible with secure booting since the license requires the boot keys to to be supplied with the code. The website is https://www.gnu.org/software/grub/.
- gummiboot: This is a simple UEFI-compatible bootloader which has since been integrated into systemd, and is licensed under LGPL v2.1 The website is https://wiki.archlinux.org/index.php/Systemd-boot.
- 一步一步學Spring Boot 2:微服務項目實戰
- LabVIEW入門與實戰開發100例
- 動手玩轉Scratch3.0編程:人工智能科創教育指南
- iOS開發實戰:從零基礎到App Store上架
- x86匯編語言:從實模式到保護模式(第2版)
- Serverless computing in Azure with .NET
- OpenCV 4計算機視覺項目實戰(原書第2版)
- 新一代SDN:VMware NSX 網絡原理與實踐
- 深入剖析Java虛擬機:源碼剖析與實例詳解(基礎卷)
- Test-Driven JavaScript Development
- 精通MySQL 8(視頻教學版)
- 3ds Max印象 電視欄目包裝動畫與特效制作
- Java RESTful Web Service實戰
- C# 7 and .NET Core 2.0 Blueprints
- 歐姆龍PLC編程指令與梯形圖快速入門