安卓编译内核

发布于 2020-02-23  6 次阅读


很多手机的内核已经开源,自己编译内核可以定制自己需要的内容,玩机的必要过程。

一、Linux环境

手机的内核只能由Linux编译,版本随意。

二、内核源码

源码会在GitHub公开,本次以我的乐视max2手机为例子
[scode type='share']GitHub项目地址:乐视max2的lineage16的安卓9内核[/scode]

    sudo apt-get install git   #安装git
    git clone https://github.com/LineageOS/android_kernel_leeco_msm8996.git   #用git克隆源码到当前目录

至此内核准备完成。

三、交叉编译器

电脑Linux自带的make是x86的不能编译手机的ARM的内核所以需要下载并配置可以编译ARM的GCC工具链才能编译。
gcc编译方法(适用内核2.X,3.X)
我的手机内核为3.18适合使用gcc编译,理论所有手机符合的内核版本都可以使用
[scode type='share']我使用的是Linaro GCC 4.9-2017.01,Google官方地址:点此前往[/scode]
如果编译的机器就是arm则直接apt install gcc-arm-linux-gnueabihf 或者 apt install gcc-aarch64-linux-gnu就可以了

四、配置编译环境

首先在源码目录打开终端,然后按照以下格式输入

    export PATH=/你合适编译链的绝对地址/bin/:$PATH
    export CC=aarch64-linux-gnu-gcc
    export ARCH=arm64
    export SUBARCH=arm64
    export KBUILD_BUILD_HOST="XXXXX"  #XXXXX为编译主机
    export KBUILD_BUILD_USER="XXXXX"  #XXXXX为编译人员
    export CROSS_COMPILE=aarch64-linux-gnu-
    make O=out XXXXXdefconfig   #在源码下创建out目录,XXXXXdefconfig是机型配置在/源码目录/arch/arm64/configs/下

我的配置文件为

    export PATH=/root/4.9/bin/:$PATH
    export CC=aarch64-linux-gnu-gcc
    export ARCH=arm64
    export SUBARCH=arm64
    export KBUILD_BUILD_HOST="kingodragon.com" #此处支持中文
    export KBUILD_BUILD_USER="wangxianglong"   #此处支持中文
    export CROSS_COMPILE=aarch64-linux-gnu-
    make O=out lineage_x2_defconfig

然后执行

    cd out
    make -j8 ##-j8的8为编译的线程数与编译的机器CPU有关,线程越大编译越快,CPU消耗越大

等个几分钟就可以编译完成。
效果图
kkk.png
QQ图片20200223170514.jpg
[scode type='blue']Enjoy it![/scode]


本当の声を響かせてよ