故障安全操作系统更新 (tryboot)引导加载程序/固件提供了一个一次性标志,如果设置了该标志,则会清除该标志,但会导致加载tryboot.txt而不是config.txt。此备用配置将指定挂起的操作系统更新固件、cmdline、内核和os_prefix参数。由于该标志在启动固件之前被清除,因此崩溃或重置将导致在下次重新启动时加载原始config.txt文件。
所有 Raspberry Pi 型号都支持试引导,但是,在 Raspberry Pi 4 Model B 修订版 1.0 和 1.1 上,EEPROM 不得进行写保护。这是因为较旧的 Raspberry Pi 4B 设备必须重置电源(失去 tryboot 状态),因此将其存储在 EEPROM 中。 tryboot_a_b模式如果 autoboot.txt 中的 tryboot_a_b 属性设置为 1,则加载 config.txt 而不是 tryboot.txt。这是因为 tryboot 开关已经在更高级别(分区)上进行了,因此没有必要在备用分区本身中具有tryboot.txt文件。 Raspberry Pi 引导加载程序配置编辑配置在编辑引导加载程序配置之前,请更新系统以获取最新版本的 rpi-eeprom 软件包。
要编辑当前 EEPROM 配置并将更新应用于最新的 EEPROM 版本,请运行以下命令:
有关EEPROM更新过程的详细信息,请参阅引导EEPROM。 配置属性本节介绍引导加载程序中可用的所有配置项目。语法与 config.txt 相同,但属性特定于引导加载程序。除 EDID 外,还支持条件筛选器。 BOOT_UART如果为 1,则在 GPIO 14 和 15 上启用 UART 调试输出。将接收调试终端配置为 115200bps,8 位,无奇偶校验位,1 个停止位。 UART_BAUD仅限 Raspberry Pi 5。 WAKE_ON_GPIO如果为 1,则 sudo halt 将以较低功耗模式运行,直到 GPIO3 或 GLOBAL_EN 接地短路。 POWER_OFF_ON_HALT如果 1 且 WAKE_ON_GPIO=0,则 sudo halt 将关闭所有 PMIC 输出。这是停止的最低功率状态,但可能会导致某些 HAT 出现问题,因为 5V 仍将开启。GLOBAL_EN必须接地短路才能启动。 BOOT_ORDERBOOT_ORDER设置允许灵活配置不同启动模式的优先级。它表示为 32 位无符号整数,其中每个半字节表示一种引导模式。引导模式以最低有效半字节到最高有效半字节顺序进行尝试。 BOOT_ORDER字段BOOT_ORDER 属性定义不同启动模式的顺序。它是从右到左读取的,最多可以定义八位数字。
RPIBOOT 旨在与计算模块 4 一起使用,以加载自定义调试映像(例如 Linux RAM 磁盘)而不是正常启动。这应该是最后一个启动选项,因为它当前不支持超时或重试。 BOOT_ORDER例子
MAX_RESTARTS如果遇到 RESTART (0xf) 引导模式的次数超过 MAX_RESTARTS 次,则会触发看门狗重置。不建议将其用于一般用途,但对于需要完全重置以解决硬件或网络接口问题的测试或远程系统可能很有用。 SD_BOOT_MAX_RETRIES在切换到 BOOT_ORDER 定义的下一个引导模式之前,SD 引导失败后重试的次数。 NET_BOOT_MAX_RETRIES在切换到 BOOT_ORDER 定义的下一个启动模式之前,在失败后重试网络启动的次数。 DHCP_TIMEOUT在当前迭代失败之前,整个 DHCP 序列的超时(以毫秒为单位)。 DHCP_REQ_TIMEOUT重试 DHCP DISCOVER 或 DHCP REQ 之前的超时(以毫秒为单位)。 TFTP_FILE_TIMEOUT通过 TFTP 下载单个文件的超时(以毫秒为单位)。 TFTP_IPTFTP 服务器的可选点分十进制 IP 地址(例如 192.168.1.99),用于覆盖 DHCP 请求的 server-ip。 TFTP_PREFIX为了支持每个 Raspberry Pi 的唯一 TFTP 引导目录,引导加载程序在文件名前面加上特定于设备的目录。如果在前缀目录中既找不到 start4.elf 也没有找到 start.elf,则清除前缀。
默认值:0 TFTP_PREFIX_STR指定 TFTP_PREFIX 设置为 1 时使用的自定义目录前缀字符串。例如:- TFTP_PREFIX_STR=tftp_test/ PXE_OPTION43使用其他字符串重写 PXE Option43 匹配字符串。通常,最好将自定义应用于DHCP服务器,而不是更改客户端行为,但是在无法实现的情况下提供了此选项。 DHCP_OPTION97在早期版本中,客户端 GUID (Option97) 只是重复四次的序列号。默认情况下,新的 GUID 格式是四个字符代码 (FourCC)(Raspberry Pi 4 的 RPi4 0x34695052或 Raspberry Pi 5 的 RPi5 0x35695052)、主板修订版(例如 0x00c03111 或 0x00d04170)(4 字节)、mac 地址的最低有效 4 字节和 4 字节序列号的串联。这是唯一的,但也为DHCP服务器提供结构化信息,允许在不依赖以太网MAC OUID的情况下识别Raspberry Pi 4和5计算机。 MAC_ADDRESS使用给定值覆盖 Raspberry Pi 以太网 MAC 地址。例如:dc:a6:32:01:36:c2 MAC_ADDRESS_OTP使用存储在客户 OTP 寄存器中的值覆盖 Raspberry Pi 以太网 MAC 地址。
第一个值(示例中的第 0 行)包含 OUI 和 MAC 地址的最高有效 8 位。第二个值(示例中的第 1 行)存储 MAC 地址的剩余 16 位。 这与制造时编程的Raspberry Pi MAC地址的格式相同。
默认值:"" 静态 IP 地址配置如果设置了TFTP_IP和以下选项,则跳过 DHCP 并应用静态 IP 配置。如果 TFTP 服务器与客户端位于同一子网中,则可以省略 GATEWAY。 CLIENT_IP客户端的 IP 地址,例如192.168.0.32 SUBNET子网地址掩码,例如255.255.255.0 GATEWAYTFTP 服务器位于其他子网上时要使用的网关地址,例如192.168.0.1 DISABLE_HDMI如果 DISABLE_HDMI=1,则禁用 HDMI 启动诊断显示。其他非零值保留供将来使用。 HDMI_DELAY除非发生致命错误,否则最多 N 秒(默认为 5)跳过 HDMI 诊断显示的渲染。默认行为旨在避免在正常 SD/USB 启动期间短暂出现引导加载程序诊断屏幕。 ENABLE_SELF_UPDATE使引导加载程序能够从 TFTP 或 USB 大容量存储设备 (MSD) 引导文件系统更新自身。
默认值:1 FREEZE_VERSION以前,此属性仅由 rpi-eeprom-update 脚本检查。但是,现在启用了自我更新,引导加载程序也将检查此属性。如果设置为 1,则此值将覆盖ENABLE_SELF_UPDATE以停止自动更新。要禁用FREEZE_VERSION您必须使用带有recovery.bin的SD卡启动。 HTTP_HOST如果启动了网络安装或 HTTP 引导,则会从此服务器下载 boot.img 和 boot.sig。 HTTP_PORTou 可以使用此属性更改用于网络安装和 HTTP 启动的端口。使用默认主机 fw-download-alias1.raspberrypi.com 时启用 HTTPS。如果更改HTTP_HOST则禁用 HTTPS,并改用纯 HTTP。 HTTP_PATH用于网络安装和 HTTP 引导的路径。 IMAGER_REPO_URL嵌入式 Raspberry Pi Imager 应用程序配置了启动时下载的 json 文件。 NET_INSTALL_ENABLED启用网络安装后,如果引导加载程序检测到键盘,则在引导时显示网络安装屏幕。 NET_INSTALL_KEYBOARD_WAIT如果启用了网络安装,引导加载程序将尝试检测键盘和 SHIFT 键以启动网络安装。您可以使用此属性更改此等待的长度(以毫秒为单位)。
默认值:900 NETCONSOLE- 高级日志记录NETCONSOLE 将调试消息复制到网络接口。IP 地址和端口由 NETCONSOLE 字符串定义。 格式请参阅 https://wiki.archlinux.org/index.php/Netconsole
为了简化解析,引导加载程序要求每个字段分隔符都存在。必须指定源 IP 地址,但以下字段可以留空并分配默认值。
查看数据的一种方法是将测试 Raspberry Pi 4 连接到另一个运行 WireShark 的 Raspberry Pi,并选择“udp.srcport == 6665”作为过滤器,然后选择“分析”→“跟随→ UDP 流以作为 ASCII 日志查看。
默认值:""(未启用) |