前段时间下载并make了Android源码,趁这个周末,就打算把kernel的代码也checkout下来,make试试。
当然,我在make kernel面前还是一张白纸。于是就边参考杨丰盛的《Android技术内幕:系统篇》,边在网上搜索方法。
主要参考了以下这位大侠的文章:
http://blog.csdn.net/luoshengyang/article/details/6564592
具体的过程,会在后面附上上述地址文章的内容。这儿只是说说我在整个过程中遇到的问题。
一、关于goldfish
杨丰盛书中说到,最新版本是android-goldfish-2.6.35,可是我执行git branch -a后得到的内容如下:
remotes/origin/HEAD -> origin/android-2.6.36
remotes/origin/android-2.6.35
remotes/origin/android-2.6.36
remotes/origin/android-2.6.37
remotes/origin/android-2.6.38
remotes/origin/android-2.6.39
remotes/origin/android-3.0
remotes/origin/archive/android-2.6.25
remotes/origin/archive/android-2.6.27
remotes/origin/archive/android-2.6.29
remotes/origin/archive/android-2.6.32
remotes/origin/archive/android-gldfish-2.6.29
remotes/origin/archive/android-goldfish-2.6.27
remotes/origin/linux-bcm43xx-2.6.39
remotes/origin/linux-wl12xx-2.6.39
没有android-goldfish-2.6.35。
我就想,关它是不是金鱼,先用最新的试试。于是就checkout下来了android-2.6.39。
结果在操作到了meke goldfish_defconfig时,提示找不到文件:arch/arm/configs/goldfish_defconfig。
(后来想了下,是否可以meke defconfig呢?以后有机会试试)
自己也不熟,只能按部就班,重新checkout金鱼了。
再去checkout android-gldfish-2.6.29时,还遇到点问题,就是我已经修改过Makefile问题,结果不让改变branch,没办法,只能回复修改,重新checkout。
二、关于ARCH
注意需要修改Makefile下的ARCH。我参考杨丰盛书中,没有修改该 变量。结果在make goldfish_defconfig时,提示找不到文件arch/x86/configs/goldfish_defconfig。
后来发现,杨丰盛 书中没在Makefile中修改,而是在.bashrc文件中修改了。
而参考网址中是在Makefile文件中修改的。
三 关于PATH
有一步需要修改.bashrc文件中的PATH环境变量。
export PATH=$PATH:~/Android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
我比着葫芦画瓢,按照自己的Android源码路径,将该语句添加到了.bashrc文件中。结果在make的时候,提示找不到命令arm-eabi-gcc。我到相应路径下找了找,发现arm-eabi-gcc是有的,说明PATH配置不对。
于是就想把PATH的内容打出来看看,执行命令:env | grep PATH,打印出来,发现使用的arm-eabi-4.4.3/bin路径为/root/Android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin,而真正的路径在home下我的用户的目录中。
干脆改用绝对路径。source ~/.bashrc之后,跳到kernel代码所在目录,然后make,终于一切OK。
分享到:
相关推荐
MTK6577+Android编译之kernel
从 RedHat5系列升级到kernel 2.6.33 or 2.6.34 ,升级过程和其中遇到的问题解决方法,
PCL for Android 编译过程遇到的问题及办法。如有问题请留言
使用Android NDK编译Android平台的eXosip库,有静态库和动态库。
介绍了Android内核编译的方法,适用于新手学习
3. 《[【SemiDrive源码分析】【Yocto源码分析】03 - yocto/meta-semidrive目录及Yocto Kernel编译过程分析(上)](https://ciellee.blog.csdn.net/article/details/124566955)》 4. 《[【SemiDrive源码分析】...
mac下编译android源代码
Android反编译软件 安卓反编译 Android APK反编译详解,有详细说明,简单易学!
利用ndk编译android的sh文件,利用该sh文件,能够正确编译出so文件
Android-x86源码的获得及编译,移植Android到x86架构的机器上!
脚本中描述了如何编译protobuf,包括了ubuntu和android版本
ubuntu编译android环境配置脚本,具体使用方法可以参考我的博文:http://blog.csdn.net/brian512/article/details/43195105
Cygwin 安装 基本使用 交叉编译vivi kernel.doc
最新的android反编译工具以及相关的使用方法,这个版本为最新的工具。 1、把apk文件重命名为zip或者rar文件格式 2、解压后把classes.dex复制到dex2jar-2.0目录中 3、打开cmd,定位到dex2jar-2.0目录 4、运行d2j-dex2...
android 反编译工具.
包含android-tool.jar jd-gui.jar和dex2jar等常用android反编译工具
Android的反编译 Android的反编译 Android的反编译
如何单独编译Android源代码中的模块
介绍android源码下载方法步骤、编译过程、编译后运行的方法。
高通编译Android环境操作指南.pdf