1、设备树
作用:
-
描述板子上的硬件设备信息(不支持自动发现的设备),由引导程序传给内核,内核根据设备树中的信息对设备进行初始化。
-
用来在引导程序和内核之间传递非硬件信息(根文件系统地址,大小,内核命令行参数)
使用设备树:
DTS:Device Tree Source(设备树源码)内核支持的每个单板都有一个设备树源码
DTSI:设备树源码的头文件
DTC:设备树编译器,将DTS文件编译为二进制DTB格式的文件
DTB:Device Tree BLOB 也叫做扁平设备树(Flattened Device Tree,FDT)
放在内核代码中:arch\arm\boot\dts
虚拟开发板的设备树源码:vexpress-v2p-ca9.dts
设备树源码格式:
节点别名:节点名称 {
属性名称 = 属性值;
};
编译设备树:
make dtbs
1.1内核命令行参数
U-Boot在启动内核前会将环境变量中的内核参数写到设备树中的chosen节点(bootargs属性),再通过设备树将内核参数传给内核。
内核参数文档:Documentation\kernel-parameters.txt
内核启动信息中会打印当前的命令行参数:
Booting Linux on physical CPU 0x0 Initializing cgrou