树莓pi卡映像在启动分区中包含几个不同的dtb文件。例如:
bcm2708-rpi-0-w.dtb
bcm2708-rpi-b.dtb
bcm2708-rpi-b-plus.dtb
bcm2708-rpi-cm.dtb
bcm2709-rpi-2-b.dtb
bcm2710-rpi-3-b.dtb
bcm2710-rpi-3-b-plus.dtb
bcm2710-rpi-cm3.dtb
当pi启动时,如何知道何时选择dtb?
答案 0 :(得分:1)
在U-Boot文件board / raspberrypi / rpi / rpi.c中,使用函数get_board_rev()读取主板修订版,并根据该修订版确定dtb名称。 dtb文件名在环境变量ftdfile中设置,可在启动脚本中使用它来加载适当的文件,然后将其传递给操作系统。
答案 1 :(得分:1)
我不确定 currently accepted answer 对 Raspberry Pi OS 是否正确 - 至少“官方文档”对它的解释完全不同。还不清楚为什么 u-boot
是答案的一部分,因为 Raspberry Pi OS 不使用 u-boot
;并且 OP 没有提到 u-boot
。
我不是“质量警察”,并声称没有这方面的专业知识 - 此问答已列在搜索结果中,看起来有点偏离...因此,这个“答案” ”。
最后 - 回答:这些不同的 .dtb
文件包含各种 Raspberry Pi 型号的硬件定义。在 boot process 期间检测硬件模型,并用于选择要使用的 .dtb
文件,该文件又用于设置内核。
A much more detailed answer 在“官方”文档中提供。