树莓派更新EEPROM

概述

从2020年开始,树莓派4采用可编程的嵌入式存储器(EEPROM)来存储启动代码。这个 EEPROM 可以通过软件更新,使得启动代码的错误修复和新功能添加变得更加容易。

查看当前的启动版本

要查看当前安装的启动 EEPROM 版本,请运行:

1
vcgencmd bootloader_version

查看当前的启动配置

要查看当前的启动配置,请运行:

1
vcgencmd bootloader_config

更新启动 EEPROM

方式一:使用 Raspberry Pi Imager

Raspberry Pi Imager 提供了一个 GUI,用于更新引导加载程序和选择引导模式。

  1. 下载 Raspberry Pi Imager
  2. 选择备用 TF 卡(引导加载程序映像会覆盖整个卡)
  3. 选择 Misc utility images
  4. 选择 Bootloader
  5. 选择 SD Card Boot 或者 USB Boot 或者 Network Boot
  6. 写入到 TF 卡,插入树莓派,启动树莓派,等待至少10秒
  7. 当绿色 ACT LED 以稳定的模式闪烁或者 HDMI 显示屏显示绿屏时,表示已成功写入引导加载程序
  8. 关闭 Raspberry Pi 电源并取出 TF 卡

方式二:使用 rpi-eeprom-update 更新

EEPROM 更新工具会自动检测是否需要更新。要检查是否有可用的更新,请运行:

1
sudo rpi-eeprom-update

如果有更新可用,可以通过以下命令安装:

1
2
sudo rpi-eeprom-update -a
sudo reboot

如果想取消更新,可以在执行sudo reboot命令之前执行sudo rpi-eeprom-update -r

方式三:使用 raspi-config 更新

  1. 执行 sudo raspi-config
  2. 选择 AdVanced Options
  3. 选择 Bootloader Version
  4. 选择 Latest
  5. 重启树莓派 sudo reboot

启动配置

启动配置存储在 EEPROM 中,可以通过以下步骤修改:

  1. 创建一个本地配置文件副本:
1
rpi-eeprom-config /lib/firmware/raspberrypi/bootloader/critical/pieeprom-2023-01-11.bin > bootconf.txt
  1. 编辑配置文件

  2. 应用更改:

1
2
sudo rpi-eeprom-config --apply bootconf.txt
sudo reboot

重要配置选项

BOOT_ORDER

定义启动设备的尝试顺序:

  • 0x0 - SD 卡(主要)
  • 0x1 - SD 卡(次要)
  • 0x2 - 网络启动
  • 0x3 - USB 大容量存储
  • 0x4 - BCM 启动
  • 0xf - 停止启动

BOOT_UART

启用早期启动消息到串行端口:

  • 0 - 禁用
  • 1 - 启用

WAKE_ON_GPIO

允许通过 GPIO 唤醒:

  • 0 - 禁用
  • 1 - 启用

POWER_OFF_ON_HALT

系统关闭时切断电源:

  • 0 - 禁用
  • 1 - 启用

高级配置

USB 启动

要启用 USB 启动,设置:

1
BOOT_ORDER=0xf14

这将按以下顺序尝试启动:SD卡 -> USB -> 停止

网络启动

要启用网络启动,设置:

1
BOOT_ORDER=0xf21

这将按以下顺序尝试启动:SD卡 -> 网络 -> 停止

故障排除

如果启动失败,LED 指示灯会显示错误代码。常见的错误代码包括:

  • 短闪 4 次:无法读取启动配置
  • 短闪 7 次:启动文件无效
  • 短闪 8 次:启动分区无效

恢复模式

如果 EEPROM 更新失败,可以使用恢复模式:

  1. 关闭树莓派
  2. 移除 SD 卡
  3. 按住 TV 输出按钮
  4. 接通电源
  5. 等待 LED 闪烁
  6. 插入恢复 SD 卡

注意事项

  • 建议定期检查和更新 EEPROM
  • 在修改启动配置前备份当前配置
  • 确保有可靠的电源供应,避免更新过程中断电

这个翻译保留了原文的技术准确性,同时使其更容易被中文读者理解。如果你有任何具体的配置问题,欢迎继续询问。


树莓派更新EEPROM
https://dnacore.github.io/post/8c156501-f489-41ff-9a95-cf6d11f2b136.html
作者
DNACore
发布于
2025年1月28日
更新于
2025年1月28日
许可协议