CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
查看: 6159|回复: 2

linux kernel 配置

[复制链接]
发表于 2013-5-9 11:16:23 | 显示全部楼层 |阅读模式
试图编译 https://github.com/linux-sunxi/linux-sunxi 上的sunxi-3.4 branch. 编译过程没有问题,但是当将编译的kernel放到CB上时不能正常启动。目前我所使用的方式是在TF卡上装上u-boot. 这样CB会boot到TF卡上的u-boot。然后使用loady命令,通过ymodem协议将kernel传输到CB的内存中,在用bootm命令启动内核。貌似u-boot还不支持tftpboot,使用串口传实在是慢阿。

经过一些调试,才发现,这个kernel运行时会从内存的0x43000000处获得一些硬件的配置参数。我想这些参数都是CB的bootloader写入的(那些fex文件)。如果从TF卡启动u-boot,该内存并没有初始化,造成kernel运行失败。我尝试了下,修改了下kernel串口的驱动,不去从那个地方获得硬件参数,而是暂时硬编码,果然就可以启动了,但是遇到其他需要从该区域获得参数的地方,还是会失败。

现在的问题是,CB使用目前这种方式,是有什么特别的原因吗?貌似与一些“主流”的方法不太一样。现在有没有哪个kernel source是用的platform data方式来配置硬件数据的呢。实在是不喜欢fex那套东西。比较倾向与 上电 -> u-boot -> kernel这样的流程,而且kernel也不需要依赖于内存某个地方的配置数据。我打算在sunxi-3.4的基础上,改用platform data的方式配置硬件,去掉需要从内存中获得硬件参数的调用。不知道有没有有哪个kernel已经是这样了。

PS:我是用这个方法编译的u-boot
http://linux-sunxi.org/How_to_boot_the_A10_over_the_network
可是并不像文中所说的那样支持tftpboot,我看了下u-boot的源码,好像没有CB的网络支持,是不是我哪里弄错了?

回复

使用道具 举报

 楼主| 发表于 2013-5-9 12:28:09 | 显示全部楼层
原来是u-boot的branch搞错了,使用sunxi-current这个branch就可以了
回复 支持 反对

使用道具 举报

发表于 2013-5-10 18:12:52 | 显示全部楼层
曾经platform data是被认为标准的方式,但目前上游又开始推崇device tree的方式。楼主有兴趣,我觉得device tree更有搞头~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|粤ICP备13051116号|cubie.cc---深刻的嵌入式技术讨论社区

GMT+8, 2024-5-18 13:46 , Processed in 0.020733 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2012 Comsenz Inc. | Style by Coxxs

返回顶部