您的位置:首页 > 移动开发 > Android开发

Android kernel 编译

2013-04-09 22:27 309 查看
研究了Android内核编译,以下资料来自其他作者的总结,在此整理

原文出处:http://blog.csdn.net/davidbeckham2901/article/details/7448717
1.准备工作: (ubuntu1110 32位)
推荐使用ubuntu等linuxOS,下载好eclipse,安装好JDK, 安装好android的SDK(http://developer.android.com/sdk/index.htmlhttp://developer.android.com/sdk/installing.html 有详细官方介绍), 在eclipse中成功打开android 手机模拟器即OK。
2.初始化编译环境 :
http://source.android.com/source/initializing.html ,关注该网页上的“installing required packages”,其中有的软件包因为版本问题而安装不上,不用管它,之后遇到错误再单独解决。
3.下载内核源码:
http://source.android.com/source/building-kernels.html
android 2.3 内核 下载 $ git clone https://android.googlesource.com/kernel/goldfish.git 需要等待一段时间。
4.下载交叉编译器:

编译的过程中 用的交叉编译器就不用 从android官网下载来的prebuilt文件夹中的东西了,

自己重新下载另外一个交叉编译器: 网址http://www.codesourcery.com/gnu_toolchains/arm/download.html , 到该网页选择去下载 ARM EABI 类的这个软件的tar.gz包,解压缩后,找到bin文件夹,里面应该有个arm-none-linux-gnueabi-

Makefile文件中修改为

CROSS_COMPILE=arm-none-linux-gnueabi- 了不到一个小时就能编译ok!

5.设置参数以及编译:

$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
$ cd goldfish // 进入下载的源代码目录
$ git checkout <commit_from_first_step> //这个步骤我没有做,不知道干嘛用的
$ make goldfish_defconfig
$ make
7.测试:
最后,测试一下刚才编译的内核:
emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImage

emulator若系统找不到,可以去android SDK中某文件夹找到,加入系统PATH即可。 -avd后面的参数 myavd即为模拟器的名字,这个我是在eclipse中的模拟器管理中新建的一个模拟器,用那个模拟器的名字即可。 -kernel后面的参数就找到刚才编译出的内核的路径。

若启动模拟器失败,可尝试关闭后再启动。第一次启动模拟器时可能需要等待比较长的时间,3分钟到15分钟不等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编译 Android Kernel