32位ubuntu10.04编译Android4.0.1内核

最近在做Android的一个项目,需要进行内核的编译,参考了官网上以及其他博客的教程,把自己编译内核的步骤记录下来。

1.下载Android模拟器的专用内核代码goldfish

之前我已经下载好了Android的源代码,并把源码放在了~/android目录下面。

利用Ctrl+Alt+t打开shell终端,输入下面命令:


cd ~/android

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

cd goldfish

git branch -a

git checkout origin/android-goldfish-2.6.29


2.编译goldfish内核代码

在goldfish目录下面利用vim打开Makefile文件,进行如下修改:


ARCH ?=(SUBARCH)

CROSS_COMPILE ?=

修改为:

ARCH ?=arm

CROSS_COMPILE ?=arm-eabi-

保存后退出。


注意:ARCH ?=arm中的arm后边不要有空格,不然就会出现下面的错误:

Make:...../kernel/goldfish/arch/arm: Is a directory.  Stop.


在shell中利用export命令导出交叉编译工具:

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


下面开始执行make命令:

make goldfish_armv7_defconfig


注:用$make goldfish_defconfig这样配置也可以编译通过,模拟器也可以正常启动,但是Android的开机画机就显示不了,模拟器启动后一直显示的是黑屏,具体的原因我不是很清除,不过就是用goldfish_defconfig这个配置文件编译出的问题,我最后换成了goldfish_armv7_defconfig后进行编译,模拟器利用goldfish_armv7_defconfig编译出来的内核启动时就可以正常进入系统了。


由于我需要让内核支持动态加载和卸载.ko模块,执行下面命令(不需要的可以直接跳过):

make menuconfig

把Enable loadable module support项按y选上


然后按回车进入选上前三项


退出时选择yes


最后在shell中执行make命令:

make


执行上面的步骤就可以完成Android内核代码的编译。编译后的内核为goldfish/arch/arm/boot/zImage








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值