几个月前得知树莓派可以通过更新EEPROM来U盘启动,大概方法就是在系统里更新重启后检查sudo rpi-eeprom-update,如果latest和current一致就说明已经是最新啦。(抱歉忘了截图。。。)
那么如何让树莓派4得到UEFI引导呢?
Github中的https://github.com/raspberrypi/firmware/ 和 https://github.com/pftf/RPi4/ 可以配合起来搞定(注意后者目前还是一个实验性的项目)。
大致步骤(以我的4GB树莓派4为例,已通过前面的步骤更新过EEPROM):
1. 将树莓派关机,取出存储卡,插入电脑读卡器(我的是macOS系统)
2. 下载最新的raspberrypi firmware并解压成一个firmware-master文件夹
3. 下载最新的RPi4 UEFI firmware (当前1.20)并解压成RPi4_UEFI_Firmware_v1.20文件夹
4. 将存储卡格式化成fat32,如果你和我一样使用macOS,可以使用diskutil命令来操作
diskutil list
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.9 GB disk2
1: Windows_FAT_16 BOOT 134.2 MB disk2s1
2: Linux 1.3 GB disk2s2
使用如下命令格式化并将label设置成UEFI,一定要注意写对你上面查询到的存储卡的/dev/diskx !!!
diskutil partitionDisk /dev/disk2 1 MBRFormat “MS-DOS” UEFI R
5. 删除掉 firmware-master/boot 目录下所有的kernel*.img 文件,并将整个boot文件夹剩下的文件复制到格式化好的存储卡里,还以macOS为例(默认从Github下载下来的两个压缩包都解压到了桌面)
rm ~/Desktop/firmware-master/boot/kernel*.img
cp -rf ~/Desktop/firmware-master/boot/* /Volumes/UEFI
6. 复制RPi4_UEFI_Firmware_v1.20目录下所有文件到存储卡
cp -rf ~/Desktop/RPi4_UEFI_Firmware_v1.20/* /Volumes/UEFI
7. 编辑存储卡里的config.txt文件,追加gpu_mem=16。如果你和我用的一样,都是4GB版本,添加此设置,8GB版本不需要此设置。
echo “gpu_mem=16” >> /Volumes/UEFI/config.txt
8. 拔掉存储卡,如果使用macOS,可以 diskutil eject /dev/disk2后拔掉。
9. 将存储卡插入树莓派,开机,当你看到白色树莓标志时,按ESC键,就可以进入设置菜单了。(假设你已经在树莓派上插好了某UEFI引导的USB启动盘,比如Windows on ARM。这里推荐使用有外接独立供电的USB Hub来扩展USB存储,比如USB3.0的U盘,移动硬盘等)
10. Boot Maintenance Manager→Boot Options→Change Boot Order 来切换启动顺序,再次没有截图,借用别人的截图意思一下
调整启动顺序后,保存重启即可。
《树莓派4 U盘启动+ UEFI引导》有2个想法