Raspberry PI 4有一个附加SPI的EEPROM(4MBits/512 KB),其中包含引导系统并替换bootcode.bin以前在SD卡的引导分区中找到。注意,如果bootcode.bin在PI 4中的SD卡的引导分区中,它将被忽略。
为什么使用SPI EEPROM?
与以前的Raspberry PI模型相比,raspberry PI 4启动过程和SDRAM设置要复杂得多,因此,永久合并到SoC ROM中的代码具有更大的风险。
USB已经转移到了PCIe总线上,千兆位以太网驱动程序与以前的模式完全不同,因此,将它永久地固定到SoC的ROM中是不可行的。
一个小的SPI EEPROM允许错误被修复,特性在启动后,在现场添加。
本地可修改状态意味着Raspberry PI 4上的网络或USB大容量存储启动不需要OTP引导模式设置。在PI 4上没有用户可修改的OTP引导模式位。
网络和USB引导
将来将通过可选的引导加载器更新添加对这些附加引导模式的支持。当前的计划是首先发布网络引导,然后是USB引导。
引导加载器是否正常工作?
要检查引导加载程序是否正常工作,请关闭电源,从Raspberry PI 4中拔出所有电源,包括SD卡,然后打开电源。如果绿色LED以重复模式闪烁,那么引导加载程序将正确运行,并指示start*.elf还没找到。任何其他操作都意味着引导加载程序不能正常工作,应该使用recovery.bin.
恢复图像
如果Raspberry PI没有启动,那么引导加载程序EEPROM可能已经损坏。这可以很容易地使用Raspberry PI Imager工具重新编程,该工具可通过下载页面.
更新引导加载程序
我们建议设置您的PI,以便它自动更新引导加载程序:这意味着您将获得新的特性和bug修复,因为它们被发布。引导程序更新由rpi-eeprom包,它安装在启动时运行的服务,以检查关键更新。
sudo apt update
sudo apt full-upgrade
sudo apt install rpi-eeprom
如果希望控制何时应用更新,可以禁用systemd服务自动运行并运行。rpi-eeprom-update手动。
Prevent the service from running, this can be run before the
package is installed to prevent it ever running automatically.
sudo systemctl mask rpi-eeprom-update
Enable it again
sudo systemctl unmask rpi-eeprom-update
这个FREEZE_VERSION选项在EEPROM配置文件中可用于指示EEPROM不应在此板上更新。
EEPROM的写保护
没有对引导EEPROM的软件写保护,但是在Raspbian中将有一种机制来跳过EEPROM的任何未来更新。然而,这是可能的物理写-保护两个EEPROM通过一个简单的电阻改变在板上。详情将在示意图.
EEPROM映像文件包含一个小的用户可修改的配置文件,可以使用rpi-eeprom-config中包含的脚本。rpi-eeprom包裹。见引导加载器配置页有关配置细节的信息。
检查更新是否可用
运行没有参数的RPI-EEPROM-UPDATE命令指示是否需要更新。如果固件目录中最新文件的时间戳(通常为/lib/firmware/raspberrypi/bootloader/critical)比当前引导加载程序报告的更新。下面的图像/lib/firmware/raspberrypi/bootloader是rpi-eeprom包,并仅通过apt update.
sudo rpi-eeprom-update
读取当前EEPROM配置
查看引导加载程序在引导时使用的配置文件
vcgencmd bootloader_config
读取EEPROM版本
vcgencmd bootloader_version
贝塔固件
beta固件文件将存储在/lib/firmware/raspberrypi/bootloader/beta/。开发人员或beta测试人员如果习惯于使用救援映像修复引导问题,可以通过编辑跟踪beta固件。/etc/default/rpi-eeprom-update
Change FIRMWARE_RELEASE_STATUS="critical"
to FIRMWARE_RELEASE_STATUS="beta"
EEPROM引导加载程序配置选项
见引导加载器配置页有关配置细节的信息。
发行说明
发布说明用于引导加载器EEPROMS。
本文为转载,原文地址:https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md
本文由 谭文龙 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 21, 2020 at 03:24 pm