Ubuntu10.10下编译Android2.2内核

来源:互联网 发布:福利彩票双色球计算法 编辑:程序博客网 时间:2024/06/11 11:37

Ubuntu10.10下编译Android2.2内核

 

田海立@CSDN 2011/06/17

环境:Ubuntu10.10 Android2.2.2_r1 android-gldfish-2.6.29

 

0 说明

Android2.2platformkernel是分别的项目,要分别下载编译。本文是Ubuntu10.10 环境下android 内核(goldfish-2.6.29)的编译。

 

读者:希望深入Android底层开发者,如果只是ANDROID应用开发者,不用如此麻烦,直接下载现成的SDK以及其他相应工具即可。

 

一、环境准备

 

同《Ubuntu10.10下编译Android2.2平台》中环境的准备。

 

二、下载Android2.2 Kernel – Goldfish

Android有各种平台的Kernel版本,其中有一个Goldfish的模拟器使用的Kernel

 

获取android-gldfish-2.6.29

可以到http://android.git.kernel.org,点击kernel/common.git看当前的版本,笔者选择了android-gldfish-2.6.29

 

下载android-gldfish-2.6.29,执行

haili@haili-desktop:~$cd android-2.2.2_r1

haili@haili-desktop:~/android-2.2.2_r1$git clone git://android.git.kernel.org/kernel/common.git –b android-2.6.35 kernel

haili@haili-desktop:~/android-2.2.2_r1$cd kernel

haili@haili-desktop:~/android-2.2.2_r1/kernel$git checkout android-gldfish-2.6.29

 

三、获取配置信息

prebuilt的模拟器中获取编译配置信息

haili@haili-desktop:~/android-2.2.2_r1/kernel$emulator -avd AVD_HVGA

haili@haili-desktop:~/android-2.2.2_r1/kernel$adb pull /proc/config.gz

haili@haili-desktop:~/android-2.2.2_r1/kernel$gunzip config.gz

haili@haili-desktop:~/android-2.2.2_r1/kernel$cp config .config

 

四、编译Android Kernel

编译kernel,需要配置信息,这在上段已经设置;

另外要指定ARCHGoldfish还是模拟的ARM,这里指定ARCH=arm

编译器也要指定,这里用prebuilt里的arm-eabi-4.4.0

所以,执行

haili@haili-desktop:~/android-2.2.2_r1$cd kernel

haili@haili-desktop:~/android-2.2.2_r1/kernel$make ARCH=arm CROSS_COMPILE=~/android-2.2.2_r1/prebuilt/linux-x86/toolchains/arm-eabi-4.4.0/bin/arm-eabi- -j2

 

编译完成,最后生成

Kernel: arch/arm/boot/zImage is ready

 

五、验证

 

指定到编译生成的内核,执行

$cd ~/android-2.2.2_r1

haili@haili-desktop:~/android-2.2.2_r1$emulator –kernel kernel/arch/arm/boot/zImage –avd AVD_HVGA

 

在启动的模拟器里,进入Setting查看内核版本是否是你刚刚编译的。

 

*** 欢迎转载,并请注明来自http://blog.csdn.net/thl789 ***