[X]关闭

关于devicetree的问题

文档创建者:orkfire
浏览次数:6430
最后更新:2018-09-14
在学习Linux第八章LINUX 下摄像头驱动开发(OV7725)时,我看了视频,想先把devicetree按教程里说的,把内存大小改为了256M,并把启动的文件系统改为了EXT4启动方式,并生成了devicetree_ramdisk.dtb文件。这时我也把SD卡格式成了两部分,一个FAT,一个EXT4,并把之前提供的ramdisk进行了挂载,并把里面的文件全考进了EXT4分区内。然后把devicetree_ramdisk.dtb考到FAT32分区里,替换原来好使的一个文件。并把RAMDISK这个文件系统删去。插入开发板进行测试。结果发现不能正常启动。翻看打印信息。提示“** Unable to read "ramdisk8M.image.gz" from mmc 0:1 **”,我就不明白了,按照视频里讲的,他不应该去EXT4里去读取么,这个ramdisk8M.image.gz是在哪指明的,不是在divice tree里指明么?还有一个问题。就是是谁调用了devicetree_ramdisk.dtb这个文件

发表评论已发布 2

cuter

发表于 2016-10-8 10:38:02 | 显示全部楼层




1、前半部分说的一系列操作,感觉很乱,看不懂...不做评价了,回答你后面的两个问题吧。


2、文件系统(也就是ramdisk8M.image.gz)可以在uboot里指定的。*.dtb文件也是可以传递参数给内核的(chosen节点可以指定运行期参数,runtime parameter),这些参数也可以指定打印终端、内存、根文件系统等信息。
这两者传递的参数具体哪个在前,哪个在后,会不会覆盖我还没搞明白,个人感觉是*.dtb在uboot之后,会覆盖uboot传递的参数。当然停留在猜测,不负责任。请大神指正。


3、uboot负责将*.dtb文件加载到内存中,内核负责对*.dtb文件进行解析才能知道具体有哪些硬件设备,然后加载相应的驱动

马达

发表于 2018-9-14 16:07:49 | 显示全部楼层

关于ramdisk8M.image.gz他是属于一个镜像文件,就是把根文件系统压缩(不是完全的根文件系统,少了好多东西)。你要是用了ramdisk8M.image.gz,他就不会去读EXT4下的根文件系统。他会执行ramdisk8M.image.gz里压缩的根文件系统,如果想读EXT4要改uboot启动项,让他不去读ramdisk8M.image.gz。这是我个人理解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则