建立一个存放内核源码的文件夹:
mkdir goldfish
切换到工作目录:
cd goldfish
下载goldfish源码:
git clone https://android.googlesource.com/kernel/goldfish.git
下载完成后checkout 2.6.29版本:
git checkout remotes/origin/android-goldfish-2.6.29
切换完成后git分支的情况如下图所示:
配置交叉编译环境变量:
export PATH=$PATH:~/AOSP2.3/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin
编辑Makefile文件,配置ARCH=arm和CROSS_COMPILE=arm-eabi-:
生成编译配置文件.config:
make goldfish_defconfig
编译:
make
编译成功后,在arch/arm/build目录下会有zImage文件生成:
总结编译环境:
跟编译android2.3源码的一样
更换内核之前的模拟器是这样的:
后台启动更换了内核的模拟器:
emulator -kernel ~/goldfish/arch/arm/boot/zImage &
可以看到,linux内核已经改变为我编译的版本了。