码迷,mamicode.com
首页 > 移动开发 > 详细

编译Android内核

时间:2015-08-20 15:21:08      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:android内核   虚拟机   内核编译   

首先需要知道自己android内核的版本,我们android系统是android 4.0.1,内核版本为2.6.29.

技术分享

由于我们在下载android源代码的时候默认是不带内核源码的,因为他内置了一个编译好的zImage内核镜像,所以,如果要编译内核源码的时候,我们需要下载我们当前版本的内核源码.注意,这里的内核源码并不是Linux官网的内核源码,而是谷歌定制的内核.

我们首先需要在android源代码根目录下新建一个kernel目录.

mkdir kernel
cd kernel
git clone http://android.googlesource.com/kernel/goldfish.git

这个需要等待一段时间,下载完成之后,我们使用如下命令.

git branch -a
//找到自己需要的内核源码版本
git checkout remotes/origin/android-goldfish-2.6.29

好了,完成之后,我们就可以编译我们的内核源代码了.在编译之前,我们需要修改一个内核源码的根目录下的Makefile文件,也就是老罗提到的修改两个部分:

ARCH            ?= arm
CROSS_COMPILE   ?=  arm-eabi-   

在make之前,我们需要将Android提供的交叉编译链添加到我们的环境变量中,android提供的交叉编译链在目录
/prebuilt/linux-x86/toolchain 中.

技术分享

下面我们使用下面的命令进行编译:

export PATH=$PATH:~/android/prebuild/linux-x86/toolchain/arm-eabi-4.4.3/bin

//android2.3以下使用这个
make goldfish_defconfig
//android2.3以上使用这个
make goldfish_armv7_defconfig

//多线程编译
make -j4 

等出现zImage生成成功,表示编译完成.

技术分享

最后,指定内核运行我们的虚拟机.

emulator -kernel ./kernel/goldfish-android/arch/arm/boot/zImage 

如果想要在后台运行这个虚拟机来启动adb的话,则需要在命令后面添加”&”.

emulator -kernel ./kernel/goldfish-android/arch/arm/boot/zImage &

版权声明:您好,转载请留下本人博客的地址,谢谢

编译Android内核

标签:android内核   虚拟机   内核编译   

原文地址:http://blog.csdn.net/hongbochen1223/article/details/47807089

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!