编译Linaro的Android内核有感

  这段时间在折腾android的ril层开发,所以一切都要从头做起。之前用前辈的编译脚本,勉强编译过去了,但是后来出现烧到板子上却起不来。于是今天尝试着自己用Linaro网站上的方法自己从头开始编译padaboard的android镜像。

  一开始遇到了一些问题,比如menuconfig,依照以往编译kernel的经验,都是自己配置menuconfig,而linaro却给我提供了他们做好的.config文件,所以,按照官网的办法,是用CP指令把他们给的.config文件拷贝到目录里,比如kernel/out里面。而编译指令也要有讲究,注意ARCH=arm和O=out。

  编译中遇到了以下几个问题,稍作记录:

  (1)说找不到.config文件,原因是前面讲的,我们应该linaro提供的config文件拷贝到我们的"O="里面的文件夹中,比如我的out。

  (2)编译文件夹不够干净(clean),要求我们运行make mrproper来进行clean操作,这个时候运行它却报错,说找不到bcm80211这个文件。这个时候,我们应该尝试把kernel/drivers/net/wireless/makefile中的obj-$(CONFIG_BCM4329)  += bcm80211/ 修改为obj-$(CONFIG_BCM4329)  += brcm80211/,然后再去clean,clean完记得改回来。(反正后来config文件也指定了不编译它,不改应该也没问题)

  (3)需要指定CROSS_COMPLIE来进行make,也就是交叉编译工具,因为只有在ubuntu10.10以上才有arm-linux-gnueabi-gcc这个玩意儿,所以要使用官方的脚本还是会出现一些编译错误的,于是我参照官网的一个编译内核的网页,进行手动设置。

   参考网址:https://wiki.linaro.org/Platform/Android/JustWorkOnTheKernel

  (4)在编译过程中,gcc报了一个bug,大致内容是write_cache_pages的错误,我在网上找到了一些解决办法,贴下来:

   参考网址:http://blog.csdn.net/sustzombie/article/details/6107079和http://blog.chinaunix.net/uid-20564848-id-74802.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值