这两个在设备树文件里面都是作为设备子节点的格式写进去的
1. aliases按名字翻译就是“起别名”,其实它的作用是--编号,也就是所谓的label,这样一来的话,以后在给它们这些设备都编了号之后,以后访问设备就通过&label就可以了。有点类似于define,但是这个在设备树里面编号了之后的话,起作用的范围就是全局性的了。
2.chosen
这个chosen里面,是boot给linux内核传参数“bootargs”用的,bootargs这个东西实际就是一个boot最重要的环境变量。这个bootargs进去到内核里面一般在:/proc/device-tree-chosen或者/sys/firmware/devicetree/base/chosen下面
首先这个东西现在一般都不填了。但是作为格式它还是要写,只是不填
其次,它和前面的aliases一样,虽然是设备节点的书写格式存在于设备树文件里,但是它也不是一个真实的设备。
最后,它为什么要写但是不填呢?是因为它里面的东西一般是boot在启动的时候,在boot的源码里面会有专门的函数调用来填入东西进去。类似这样:
这个其中往里的写的函数的逻辑一般都是先看里面有没有内容,没有内容会自己往里写的。
Linux设备树特殊节点( aliases、chosen )介绍_一只青木呀的博客-CSDN博客_chosen 设备树