使用 UEFI 的裸机编程入门
First steps in bare-metal programming using UEFI

原始链接: https://kevinboone.me/efitest_index.html

这些文章是关于使用 Linux 工作站为带有 UEFI 固件的 PC 型计算机开发裸机应用程序的。它们面向有经验的 Linux 开发者编写,但假设读者没有 UEFI 先验知识。这些文章涵盖所需的软件工具、如何编译和链接、如何创建可启动磁盘,以及基本文件管理。请注意,我编写这些文章是为了按顺序阅读。每一篇都依赖于前一篇文章的信息,脱离顺序可能难以理解。第1部分 – 编译和链接第2部分 – EFI 系统分区第3部分 – 制作 DVD 或 USB 闪存镜像第4部分 – 一个务实的离题第5部分 – 使用 Simple File Protocol 处理文件 你是否针对此页面发布了回应?欢迎发送 webmention 通知我,提供指向此页面的博客或网页 URL。

Hacker News 讨论了一篇关于 UEFI 裸机编程入门的指南。评论者提到 edk2-libc 和 LLVM 的 UEFI libc 等库,以弥补缺失的 C 标准库,同时警告近期的 EDK II CVE。一些人批评 UEFI 的 Windows 风格约定,尤其是 UTF-16 字符串和 VFAT,称其为沉重的遗留选择。其他人分享了 uefi-rs、一个 IRC 客户端以及从 UEFI 启动 Linux 的方法等资源。关于 UEFI 是否算“裸机”存在争论;一位评论者认为,尽管固件先运行,但控制权一旦交给程序,它就算裸机。评论者还指出 UEFI 现已无处不在,包括 ARM Windows 笔记本,而传统 BIOS 基本已过时。该帖还包含实用构建技巧,例如使用 nm 检查未定义的外部符号。
相关文章

原文

These articles are about using a Linux workstation to develop bare-metal applications for a PC-type computer with UEFI firmware. They are written for experienced Linux developers, but assume no prior knowledge of UEFI. The articles cover the software tools needed, how to compile and link, how to create a bootable disk, and basic file management.

Please note that I wrote these articles to be read in order. Each one relies on information from the previous articles, and it might be difficult to follow them out of sequence.

Part 1 – Compiling and Linking
Part 2 – The EFI system partition
Part 3 – Making a DVD or USB flash image
Part 4 – A pragmatic digression
Part 5 – Handling files using the Simple File Protocol


Have you posted something in response to this page?
Feel free to send a webmention to notify me, giving the URL of the blog or page that refers to this one.

联系我们 contact @ memedata.com