android内核编译,终于ok了,总结之

本文详细介绍了在Ubuntu 11.10 32位系统上编译Android内核的步骤,包括环境准备、安装必备软件、下载内核源码和交叉编译器、设置编译参数及解决编译过程中的问题。通过这些步骤,你可以成功编译出适用于Goldfish平台的内核,并在Android模拟器上进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

编译android内核



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.下载交叉编译器:

按照上面网页中的说法是下载:

$ git clone https://android.googlesource.com/platform/prebuilt

下载完后记得:

$ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

(该步骤有可能耗费大量时间,依据网速不同,几个小时到几天不等,或许可以尝试git clone 后面的地址只下载prebuilt/linux-x86/toolchain,那样就需要下载的东西很少了,此方法我还没有尝试;或者跳过该步骤参考第6点)




5.设置参数以及编译:

$ export ARCH=arm

$ export SUBARCH=arm

$ export CROSS_COMPILE=arm-eabi-

$ cd goldfish  // 进入下载的源代码目录

$ git checkout <commit_from_first_step>   //这个步骤我没有做,不知道干嘛用的

$ make goldfish_defconfig  

$ make



6.报错信息:

若有报错说找不到 (arm-eabi-gcc command not found)等等,尝试使用http://blog.youkuaiyun.com/davidbeckham2901/article/details/7397447 中说到的解决方案即可(即采用另外一个交叉编译器)。



7.测试:


最后,测试一下刚才编译的内核:

emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImage

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

若启动模拟器失败,可尝试关闭后再启动。第一次启动模拟器时可能需要等待比较长的时间,3分钟到15分钟不等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值