Android 编译内核 (kernel)

在编译内核的时候,需要具备两个条件

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/ 下

 

至此内核编译完成。

你可能感兴趣的:(linux,centos,Andrid)