step1:下载最新内核源码
下载链接:https://www.kernel.org/ ,我这里下载的是5.1.11stable版本
step2: 解压
下载下来的是linux-5.1.11.tar.xz,这是一个经过两次压缩的压缩包,使用下面两步完成解压
xz -d linux-5.1.11.tar.xz
tar xvf linux-5.1.11.tar
step3:配置内核
不同的厂商已经上传了自家的默认内核配置文件,其中arm架构的内核配置文件存放在arch/arm/config目录中,我们只需要将我们板子对应的默认内核配置文件拷贝出来并重新命名为.config就行了,我这里使用的是imx_v4_v5_defconfig
cp arch/arm/config/imx_v4_v5_defconfig .config(其中.config文件为内核配置文件,在编译内核的时候会读取这个配置文件完成内核的编译)。
执行make menuconfig,save配置后退出。这一步是让我们的.config文件生效
step4:指定编译工具链
首先将编译工具链路径加入到PATH路径:
export path=$PATH:"/home/libin/opt/arm-2009q1/bin:/home/libin/opt/gcc/bin:/home/libin/opt/gcc/arm-linux-gnueabihf/bin"
其次指定交叉编译工具链:
makefile中会用到两个环境变量,ARCH(芯片架构)和CROSS_COMPILE(交叉编译工具),我们需要手动指定这两个环境变量
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
step5:开始编译
make zImage(还会出现几个选项,y就行了,我也不太清楚这几个选项的意思)
step5:漫长等待
编译好的zImage文件存放在arch/arm/boot/路径下