可运行的示例
让我们创建并运行一些在没有OS的情况下运行的微型裸机hello world程序:
具有UEFI BIOS 1.16固件的x86 Lenovo Thinkpad T430笔记本电脑
基于ARM的Raspberry Pi 3
我们还将尽可能在QEMU仿真器上对其进行尝试,因为这样做更安全,更方便开发。QEMU测试已在带有预打包QEMU 2.11.1的Ubuntu 18.04主机上进行。
GitHub存储库中提供了以下所有x86示例以及更多示例的代码。
如何在x86真实硬件上运行示例
请记住,在真实硬件上运行示例可能很危险,例如,您可能会误擦磁盘或对硬件进行砌块:仅在不包含关键数据的旧机器上执行此操作!甚至更好的是,使用便宜的半一次性开发板,例如Raspberry Pi,请参见下面的ARM示例。
对于典型的x86笔记本电脑,您必须执行以下操作:
将图像刻录到USB记忆棒(将破坏您的数据!):
sudo dd if=main.img of=/dev/sdX
将USB插入计算机
打开它
告诉它从USB启动。
这意味着使固件在硬盘之前选择USB。
如果这不是计算机的默认行为,请在开机后继续按Enter,F12,ESC或其他类似的怪异键,直到获得启动菜单,您可以在其中选择从USB引导。
通常可以在那些菜单中配置搜索顺序。
例如,在我的T430上,我看到以下内容。
打开电源后,这是我必须按Enter进入启动菜单的时间: