嵌入式Linux开发:设备树与根文件系统构建
1. 不同架构的文件布局
在嵌入式Linux开发中,不同架构的文件布局有所不同。PowerPC架构会将片上系统(SoC)和特定板级文件放在 platforms
子目录中。而ARM架构则比较混乱,这部分是因为基于ARM的众多SoC之间存在很大差异。与平台相关的代码放在以 mach-*
命名的目录中,大约每个SoC对应一个这样的目录。还有以 plat-*
命名的目录,其中包含多个版本SoC的通用代码。以BeagleBone Black为例,相关目录是 arch/arm/mach-omap2
,不要被名称误导,它不仅支持OMAP2、3和4芯片,还支持BeagleBone使用的AM33xx系列芯片。
2. 创建新设备树
2.1 复制并修改设备树文件
要为新的Nova板创建设备树,首先复制 am335x-boneblack.dts
到 nova.dts
,并将模型名称改为 Nova
,示例代码如下:
/dts-v1/;
#include "am33xx.dtsi"
#include "am335x-bone-common.dtsi"
#include "am335x-boneblack-common.dtsi"
/ {
model = "Nova";
compatible = "ti,am335x-bone-