很多手机的内核已经开源,自己编译内核可以定制自己需要的内容,玩机的必要过程。
一、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消耗越大
等个几分钟就可以编译完成。
效果图
[scode type='blue']Enjoy it![/scode]
Comments | 1 条评论
博客作者 Powerfullz
前来py[受虐滑稽]