这段时间在折腾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

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android沙盒开发之系统libc库定制修改
  6. Android(安卓)Developers:存储选项
  7. android include merge标签
  8. ANDROID数字签名及命令行启动执行APK程序
  9. Android——NDK开发(一)

随机推荐

  1. android app rate on google play and am
  2. Android 服务(本地服务示例)(二)
  3. Android中使用GridView实现标签效果源码
  4. Android 联系人选择Widget
  5. Android中判断网络连接是否可用
  6. Failed to create directory C:\ Progra
  7. 百度地图中android获取经纬度和地方名称
  8. 【移动安全】Android App Smail代码动态
  9. Android Kill App
  10. android 服务service里面出Toast