在编译内核的时候,需要具备两个条件
1.下载好kernel源码
2.交叉编译器(如果你有已经下载了AOSP),那就好,AOSP里面就有这个交叉编译器,位置呢在
aosp/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin
解释一aosp就是你的源码目录,然后一级一级往下找,当到linux-86的时候,下面就有好多选项了,看你的设备cpu是那种架构,然后你就选择那种,我的是arm的,所以就选择arm,然后下一级目录就一样了
当你具备上面两个条件时,你就可以进行编译了,步骤如下:
1.首先你需要配置环境变量,在哪配置呢,就在profile文件里面,这个文件又在哪里呢,就在你虚拟机的根目录中,具体如下
/etc/profile
2.打开这个文件:
vim /etc/profile
3.然后将一下环境变量配置于你的文件中即可:
export PATH=$PATH:/aosp/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8/bin
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
解释下,第一个环境变量就是你的交叉编辑器的,你需要先将他配置
第二个,第三个就是你自己的cup架构,你是arm64 你就是arm64
第四个交叉编译器的,按照上面的写法,写到android- 即可
在你的profile文件中添加完这些环境变量后,保存退出
4.然后让其生效,执行以下命令:
source /etc/profile
5.接下来,然后在你的项目下,执行以下命令即可
make xxx-defconfig
make
解释下这个xxx是什么,这个就是设备的构建配置文件,这个怎么来的呢,那就要进入source官网里面,一一对应,也可以去前面文章kernel下载中查看,地址为:kernel构建配置(xxx-defconfig)对照表
然后你就等着编译成功即可,如下:输出路径在arch/arm/boot/ 下
至此内核编译完成。