更新引导加载程序配置引导加载程序的默认版本表示最新的出厂默认固件映像。它会更新以提供关键的错误修复、硬件支持,并在最新版本中测试功能后定期更新。最新的引导加载程序更新得更频繁,以包含最新的修复和改进。 高级用户可以切换到最新的引导加载程序以获取最新功能。 打开命令提示符并启动 raspi-config。 sudo raspi-config
导航到“高级选项”,然后导航到“引导加载程序版本”。选择“最新”,然后选择“是”进行确认。选择“完成”并确认要重新启动。重新启动后,再次打开命令提示符并更新系统: sudo apt update
如果您运行 sudo rpi-eeprom-update,您应该会看到有最新版本的引导加载程序可用,并且是最新版本。 *** UPDATE AVAILABLE ***
BOOTLOADER: update available
CURRENT: Thu 18 Jan 13:59:23 UTC 2024 (1705586363)
LATEST: Mon 22 Jan 10:41:21 UTC 2024 (1705920081)
RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2711/latest)
Use raspi-config to change the release.
VL805_FW: Using bootloader EEPROM
VL805: up to date
CURRENT: 000138c0
LATEST: 000138c0
现在,您可以更新引导加载程序了。 sudo rpi-eeprom-update -a
sudo reboot
重新启动,然后运行 sudo rpi-eeprom-update。您现在应该看到当前日期已更新到引导加载程序的最新版本: BOOTLOADER: up to date
CURRENT: Mon 22 Jan 10:41:21 UTC 2024 (1705920081)
LATEST: Mon 22 Jan 10:41:21 UTC 2024 (1705920081)
RELEASE: latest (/lib/firmware/raspberrypi/bootloader-2711/latest)
Use raspi-config to change the release.
VL805_FW: Using bootloader EEPROM
VL805: up to date
CURRENT: 000138c0
LATEST: 000138c0
读取当前引导加载程序配置要查看当前正在运行的引导加载程序使用的配置,请运行: 从引导加载程序映像读取配置要从引导加载程序映像中读取配置,请执行以下操作: rpi-eeprom-config pieeprom.bin
编辑当前引导加载程序配置以下命令将当前引导加载程序配置加载到文本编辑器中。当编辑器关闭时,rpi-eeprom-config 会将更新的配置应用于最新的可用引导加载程序版本,并使用 rpi-eeprom-update 在系统重新启动时计划更新: sudo -E rpi-eeprom-config --edit
sudo reboot
如果更新的配置相同或为空,则不进行任何更改。 编辑器由 EDITOR 环境变量选择。 应用保存的配置以下命令将 boot.conf 应用于最新的可用引导加载程序映像,并使用 rpi-eeprom-update 在系统重新启动时计划更新。 sudo rpi-eeprom-config --apply boot.conf
sudo reboot
自动更新rpi-eeprom-update systemd 服务在启动时运行,如果有新映像可用,则应用更新,自动迁移当前引导加载程序配置。 要禁用自动更新,请执行以下操作: sudo systemctl mask rpi-eeprom-update
要重新启用自动更新,请执行以下操作: sudo systemctl unmask rpi-eeprom-update
注意:如果设置了FREEZE_VERSION引导加载程序配置,则更新服务将跳过任何自动更新。这样,如果安装了多个操作系统,或者在交换 SD 卡时,无需单独禁用更新服务。 rpi-eeprom-updateRaspberry Pi OS 使用该脚本实现自动更新服务。该脚本还可以以交互方式运行或包装以创建自定义引导加载程序更新服务。rpi-eeprom-update 读取当前引导加载程序版本: vcgencmd bootloader_version
检查是否有可用的更新: sudo rpi-eeprom-update
安装更新: sudo rpi-eeprom-update -a
sudo reboot
取消挂起的更新: sudo rpi-eeprom-update -r
安装特定的引导加载程序映像: sudo rpi-eeprom-update -d -f pieeprom.bin
-d 标志指示 rpi-eeprom-update 使用指定映像文件中的配置,而不是自动迁移当前配置。 显示内置文档: rpi-eeprom-update -h
引导加载程序版本状态固件发布状态对应于引导加载程序固件映像的特定子目录 (/lib/firmware/raspberrypi/bootloader/...),并且可以更改以选择不同的发布流。 由于发布状态字符串只是一个子目录名称,因此可以创建自己的发布流,例如固定发布或自定义网络启动配置。 更改引导加载程序版本注意:您可以通过编辑 /etc/default/rpi-eeprom-update 文件并将FIRMWARE_RELEASE_STATUS条目更改为相应的流来更改更新期间要使用的发布流。 更新引导加载程序映像文件中的引导加载程序配置以下命令将 pieeprom.bin 中的引导加载程序配置替换为 boot.conf,并将新映像写入new.bin: rpi-eeprom-config --config boot.conf --out new.bin pieeprom.bin
recovery.bin开机时,BCM2711上的ROM BCM2712在SD卡上启动分区的根目录中查找名为recovery.bin的文件。如果找到有效的recovery.bin,则ROM将执行此操作,而不是执行EEPROM的内容。此机制可确保引导加载程序闪存映像始终可以重置为具有出厂默认设置的有效映像。 另请参阅 Raspberry Pi boot-flow 引导加载程序更新文件文件名 | 目的 |
---|
recovery.bin | 引导加载程序恢复可执行文件 | pieeprom.upd | Bootloader EEPROM镜像 | pieeprom.bin | 引导加载程序 EEPROM 映像 - 与 pieeprom.upd 相同,但更改recovery.bin行为 | pieeprom.sig | 引导加载程序映像的 sha256 校验和 (pieeprom.upd/pieeprom.bin) | vl805.bin | 仅限 VLI805 USB 固件 EEPROM 映像 - Raspberry Pi 4B 修订版 1.3 及更早版本。 | vl805.sig | vl805.bin 的 sha256 校验和 |
如果引导加载程序更新映像称为 pieeprom.upd,则在更新完成后recovery.bin重命名为 recovery.000,然后重新启动系统。由于recovery.bin不再存在,ROM 从 SPI 闪存加载新更新的引导加载程序,操作系统正常启动。 如果引导加载程序更新映像被调用pieeprom.bin则recovery.bin将在更新完成后停止。成功后,HDMI 输出将呈绿色,绿色活动 LED 快速闪烁。如果更新失败,HDMI 输出将呈红色,并且将通过活动 LED 显示错误代码。 .sig 文件包含相应图像文件的十六进制 sha256 校验和;将来可能会添加其他字段。 BCM2711 和 BCM2712 上的 ROM 不支持从 USB 大容量存储或 TFTP 加载recovery.bin。相反,较新版本的引导加载程序支持自我更新机制,其中引导加载程序能够重新刷新 SPI 闪存本身。请参阅引导加载程序配置页面上的ENABLE_SELF_UPDATE。 临时EEPROM更新文件在启动时由rpi-eeprom-update服务自动删除。
有关 rpi-eeprom-update 配置文件的更多信息,请参阅 rpi-eeprom-update -h。 EEPROM写保护引导加载程序和 VLI EEPROM 都支持硬件写保护。有关如何在刷新 EEPROM 时启用此功能的更多信息,请参阅 eeprom_write_protect 选项。
|