Ubuntu14.04下载编译Android6.0内核源码

通过上一篇Ubuntu14.04下载编译Android6.0源码我们已经下载完了Android SDK的所有源代码,但是这其中不包括其对应的Linux内核的源代码。不同的硬件需要下载不同的内核代码,在此https://source.android.com/source/building-kernels可找到对应的关系。
目前我是先下载了Android模拟器对应的Android内核源码,下面介绍具体步骤。

//先按上篇文章设置好相关代\理。
cd ~/android-6.0.1_r46
mkdir kernel
cd kernel
git clone https://android.googlesource.com/kernel/goldfish.git

下载完成后切换到当前模拟器所用的内核代码分支3.4:

git branch -a  //查看所有分支
git checkout -b android-goldfish-3.4 remotes/origin/android-goldfish-3.4

之后就可以进行编译了:

cd ~/android-6.0.1_r46/kernel/goldfish
export ARCH=arm
export CROSS_COMPILE=arm-eabi-  //配置交叉编译工具
export PATH=$PATH:~/android-6.0.1_r46/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin
make goldfish_defconfig

make

编译完成后会提示内核镜像路径:

OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready

可以使用Android模拟器来测试编译出的内核文件:

//在后台启动Android模拟器,好让终端可以继续使用。
source build/envsetup.sh
lunch
emulator -kernel ./kernel/goldfish/arch/arm/boot/zImage &

编译.img文件时可使用下面的方式来编出此文件:

export TARGET_PREBUILT_KERNEL=$your_kernel_path/arch/arm/boot/zImage
make bootimage

你可能感兴趣的:(Android)