更新树莓派4的EEPROM,USB外接硬盘启动
树莓派吧
全部回复
仅看楼主
level 12
setsa 楼主
树莓派4相比前代,加入了一块 512KB SPI EEPROM,用来存放启动代码和原先在启动分区的bootcode.bin。需要注意,哪怕SD卡里面有bootcode.bin,会加载EEPROM里的文件而不是卡里的。
Q:为什么树莓派4使用EEPROM?
A:新一代树莓派启动流程复杂;USB和网卡与前代不同,SPI EEPROM可以升级,使得修补漏洞和增加特性成为可能。取代OTP来选择启动模式。
比如在某次EEPROM更新中,更新了USB固件,使USB控制器发热大大降低了。
USB免SD卡启动也是后来加入的特性,只需要更新EEPROM而不用编程OTP。
EEPROM也加入了更多可调参数。
最近想尝试外接USB盘启动和Win10ARM版。树莓派4运行Win10建议更新到最新EEPROM版本,后面还会写一篇关于如何制作Win10启动盘,现有精品帖只是把制作好的系统从SD卡DUMP出来,并没有介绍如何从官方ISO制作启动盘,如果想制作自己的系统和后续更新,只能等作者释出,Win10ARM版跟桌面版同步,桌面版有新版本ARM也同步更新(只是现在微软还没有官方支持的ARM设备,只是发布一个底包一样的东西)。WoR工具的引入使得制作Win10启动盘不再需要面对复杂的命令行,微软的周期性更新也在不断完善系统。
而外接USB启动是5月的某个beta更新引入的特性,现在官方主线的EEPROM版本仍然是4月的版本,包括用apt full-upgrade和rpi-eeprom-update都只能更新到2020-04-16版本,包括恢复映像(Recovery Image)和Raspberry Pi Imager制作的启动盘。想更新到最新的版本,现在是2020-09-03,只能手动更新。而USB MSD启动则要最新的Raspberry Pi OS 2020-08-20 版本才支持。
更新办法也简单,在树莓派EEPROM的GitHub releases页面下载
rpi-boot-eeprom-recovery-2020-09-03-vl805-000138a1-STABLE.zip。
解压里面的文件放到一张空白FAT32格式的microSD卡,放到树莓派里,通电等一会即可。
更新的时候我没有接屏幕,官方说法是等到绿灯快速闪烁,HDMI屏幕变绿。但观察下来,一开始灯闪的很快,后来慢下来了,之后没变过,我等了一会才拔。
更新后启动系统,命令行输入
sudo rpi-eeprom-update
命令可查看当前版本。如果最近更新过系统,版本应该是2020-04-16,并且会说已经最新,但如果想体验新特性,就要按上面的步骤更新了。
注意:系统是向前兼容的,既新系统兼容旧的EEPROM版本,但旧版本系统不一定完全兼容新EEPROM,不更新EEPROM完全可以正常使用,官方也会在更新系统的时候更新EEPROM(如有必要)。所以更新了EEPROM之后强烈建议搭配最新系统。
上面的up-to-date是相对官方的生产固件,而不是测试固件。
更新完成后,像正常烧写SD卡一样,烧写外接移动硬盘。不接SD卡,硬盘接到USB口就可以USB启动了。相比旧方法,把boot分区放在SD卡里然后通过修改系统挂载分区达成的外接硬盘启动,这个办法更简单。不用修改文件,移动分区等操作,能节省一张SD卡。
2020年09月12日 01点09分 1
level 11
你告诉我怎么设置bootloader时间
2020年09月12日 10点09分 2
@thsou 制作时间,比如之前的不连接网络看就是20年4.22
2020年09月12日 15点09分
level 1
你也玩树莓派?
2020年09月13日 13点09分 4
level 1
大佬请问怎么把系统拷到移动硬盘里面
2020年09月14日 02点09分 5
level 12
setsa 楼主
刚刚更新系统发现,官方更新了rpi-eeprom包,更新后版本从8.0升级到了9.0。最新的生产固件也从4月的变成了9月了,也就是上面手动升级的EEPROM版本现在通过系统自带的包管理也可以自动升级了。
本来是4月,更新后9月3号的版本变成了最新。
只需要运行
sudoapt-get update && sudo apt-get upgrade
之后
sudorpi-eeprom-update
就可以看到。
不再需要主贴的手动更新的方法,但主帖的方法仍适用想手动更新到beta版的情况。
2020年09月16日 01点09分 7
level 11
话说uefi不行?
2020年09月16日 11点09分 8
level 6
大佬,我刚入树莓派的坑,先插眼,后期一定会用到!
2020年10月07日 05点10分 9
1