最近尝试复活家里长期吃灰的 Raspberry Pi 3 B。无聊网上搜得了一个开源的 RPI3 UEFI 固件:https://github.com/pftf/RPi3,这里做一个记录。
注意!
这不是任何产品的官方文档、帮助或使用说明,仅代表博主个人的经验总结,难免会有疏漏和错误之处。请务必结合官方文档进行阅读,以作补充。
由于这是一篇教程,那么废话不多说,直接上前提列表:
- RPI3 / 3B 一个
- 能读写的 SD 卡一个(最好有 100M 空间)。至于为什么不能用 U 盘,后面会说
- 具有 Root / Administrators 的电脑一个
- SD 卡读卡器一个
- 网络连接
概览 #
本操作会在 SD 卡创建 MBR 分区表、一个 100M 的 FAT32 LBA
或 FAT16 LBA
Bootable FAT32 / FAT16 分区、在分区写入 UEFI 程序、启动。
虽说整个流程并没有什么坑,不过有几点需要注意:
- USB 引导似乎不工作。USB 引导 Raspbian 是可以的。如果有大佬知道原因,万望帮助。
- UEFI 中设置 CPU Speed 为 Max 在我的环境下会导致无法启动(卡绿色光标)
- WiFi 没有测试
- 本次操作不会安装任何操作系统,仅可以工作的 UEFI 固件
- 操作系统没有必要安装在同一个盘上,也没有必要用 MBR。实际上,操作系统可以放在 U 盘上,只要保证 UEFI 固件起来即可。
如果已经准备好了,那么就开始吧。
准备 SD 卡 #
需要 Root 或管理员权限。
SD 卡的内容会被 清空
在 Windows 或 Linux 上,为 SD 卡:
- 创建一个新的 MBR 分区表(不可以是 GPT)
- 创建一个新的分区,100M 即可
- 分区类型改成
FAT32 LBA
或FAT16 LBA
(fdisk 上按 t)。请勿使用 EFI System Partition 类型。如果要安装 Debian 请使用 FAT16. - 将分区标记为 Bootable / Active。(并不确定是否必要)
- 格式化为 FAT32 或 FAT16。如果要安装 Debian 请使用 FAT16。
至此,分区就创建好了。
写入固件 #
打开 https://github.com/pftf/RPi3/releases,下载最新 zip,然后解压到 SD 卡。
至此,安装已经完成了。记得 umount,在比较慢的 SD 卡上会慢一些。开机,会提示 No bootable…,是正常情况。
还原配置 #
经过测试,更改的配置大概可以通过恢复 RPI_EFI.fd
来还原。