编译对应Android7.0的内核
前期准备:成功下载和编译Android7.0源码。linux中的fq实现(我之前的博客有),一些资源的下载要用,注意git clone一些谷歌的资源时前不要忘记配置DaiLi。
e.g我的配置():
export https_proxy="http://127.0.0.1:8123/"
export http_proxy="http://127.0.0.1:8123/"
在Android源码目录下创建内核目录
~/testandroid7$ mkidr kernel
~/testandroid7$ cd kernel/
git clone https://android.googlesource.com/kernel/goldfish.git (需要fq)
完成后会有一个goldfish目录,进入空文件,只有一个.git,查看其所有分支。
下载arm-linux交叉工具链
$mkdir ~/android-toolchain
$cd ~/android-toolchain
$git clone https://android.googlesource.com/platform/prebuilt
然后将此路径 /home/xykj/android-toolchain/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin加入到环境变量中
开始编译内核:
export ARCH=arm export SUBARCH=arm export CROSS_COMPILE=arm-eabi- export PATH=WORKING_DIRECTORY/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8/bin:$PATH make goldfish_armv7_defconfig make -j4
期间可能会出一些问题大都是环境配置的问题。
我遇到一个问题就是arm-linux-gcc 命令未找到。
参考https://blog.****.net/ragnaro/article/details/79143914这个网址解决的。最后编译成功,如下图。
运行新编译的内核:
emulator -kernel /home/xykj/testandroid7/kernel/goldfish/arch/arm/boot/zImage
查看系统信息。
左边是新编内核 右边是缺省内核,即源码中自带的内核镜像
至此对应Android7.0的Android内核就成功编译了。