在此将Android4.2内核在Ubuntu12上的编译过程记述如下:
接续前篇,在Android目录下下载Linux内核代码
1. mkdir kernel
2. cd kernel
3. git clone https://android.googlesource.com/kernel/goldfish.git
下载完成后,会在kernel 下生成一个goldfish目录,linux内核代码即存于此。
4.git branch -a 得到版本
会显示: * mastert等信息
5.进入goldfish目录,执行git checkout remotes/origin/android-goldfish-3.4
编译内核
6. 导出交叉编译目录到环境变量中
export PATH=$PATH:~/Android/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
7.设置环境变量
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
8.启动android模拟器,通过adb得到模拟器中提供的内核配置文件:
emulator
adb pull /proc/config.gz
9.将生成的config.gz 文件拷贝到goldfish目录下
10.执行以下命令:
gunzip config.gz
mv config .config
11. make 开始编译
12. 验证内核
emulator -kernel ./kernel/goldfish/arch/arm/boot/zImage
adb shell
cd proc
cat version
这时可以看到Linux的内核版本号及编译的时间,内核版本应为Linux version 3.4.0-g39765bd
至此,Android的Linux内核编译结束,并成功在模拟器上运行。