旧版config.txt
旧版选项
这里描述的 config.txt 选项被视为遗留设置,树莓派OS Bookworm 并不使用它们,官方 也不再支持它们。它们要么与固件图形驱动程序等旧版软件有关,要么已被弃用,要么大多数人都不太可能使用。不过,由于它们对旧版操作系统用户或进行裸机开发的人员可能仍有帮助,因此在此保留记录。
旧版启动选项
(另请参阅 config.txt 启动选项)。
start_x、start_debug
这些选项提供了一些替代 start_file 和 fixup_file 设置的快捷方式,是选择固件配置的推荐方法。
start_x=1 表示
start_file=start_x.elf
fixup_file=fixup_x.dat
在树莓派4上,如果存在 start4x.elf 和 fixup4x.dat 文件,则将使用这些文件。
start_debug=1 意味着
start_file=start_db.elf
fixup_file=fixup_db.dat
disable_commandline_tags
将 disable_commandline_tags 命令设为 1,以阻止 start.elf 在启动内核前填写 ATAGS(0x100 开始的内存)。
arm_control
此设置已被弃用。请使用 arm_64bit 来启用 64 位内核。
设置板卡特定的控制位。
armstub
armstub 是引导分区中加载 ARM 存根的文件名。默认 ARM 存根存储在固件中,并根据树莓派型号和各种设置自动选择。
存根是先于内核运行的一小段 ARM 代码。它的任务是在将控制权传递给内核之前设置中断控制器等低级硬件。
arm_peri_high
将 arm_peri_high 设为 1 可在树莓派4上启用高外设模式。如果加载了合适的 DTB,它会自动设置。
在没有兼容设备树的情况下启用高外设模式将导致系统无法启动。目前缺少 ARM 存根支持,因此还需要使用 armstub 加载合适的文件。
kernel_address
kernel_address 是加载内核映像的内存地址。默认情况下,32 位内核加载到地址 0x8000,64 位内核加载到地址 0x200000。如果设置了 kernel_old,内核将被加载到 0x0 地址。
kernel_old
将 kernel_old 设为 1,可将内核加载到内存地址 0x0。
init_uart_baud
init_uart_baud 是初始 UART 波特率。默认值为 115200。
init_uart_clock
init_uart_clock 是初始 UART 时钟频率。默认值为 48000000(48MHz)。请注意,该时钟仅适用于 UART0(Linux 中为 ttyAMA0),而且 UART 的最大波特率限制为时钟的 1/16。树莓派3 和树莓派Zero 的默认 UART 为 UART1(Linux 中为 ttyS0),其时钟为核心 VPU 时钟 - 至少 250MHz。
bootcode_delay
bootcode_delay 命令在加载 start.elf 之前,在 bootcode.bin 中延迟给定的秒数:默认值为 0。
如果树莓派和显示器的电源相同,但显示器的启动时间比树莓派长,那么在读取显示器的 EDID 之前插入一个延迟就非常有用。如果初始启动时显示器检测错误,但在软启动树莓派而不移除显示器电源时检测正确,请尝试设置该值。
boot_delay
boot_delay 命令会在加载内核前在 start.elf 中强制等待指定秒数:默认值为 0。以毫秒为单位的总延迟计算公式为 (1000 x boot_delay) + boot_delay_ms。如果你的 SD 卡在 Linux 从它启动之前需要一段时间准备就绪,这将非常有用。
boot_delay_ms
boot_delay_ms 命令表示在加载内核前等待 start.elf 和 boot_delay 中给定的毫秒数。默认值为 0。
enable_gic(仅限树莓派4)
在树莓派4B 上,如果将此值设为 0,中断将使用旧版中断控制器路由到 Arm 内核,而不是通过 GIC-400。默认值为 1。
sha256
如果设置为非零,将启用由 sha256sum 工具生成的已加载文件(内核、initramfs、设备树 .dtb 文件和覆盖层)的 SHA256 哈希值日志。如果启用,日志输出将发送到 UART,也可通过 sudo vclog --msg 访问。该选项在调试启动问题时可能有用,但代价是启动时间可能会增加很多秒。在所有平台上默认为 0。