NXP官方kernel编译
1、安装库
sudo apt-get install lzop
2、官网获取kernel包
linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2
解压缩:
tar -vxjf linux-imx-4.1.15-2.1.0-g8a006db.tar.bz2
3、根目录创建脚本文件
mx6ull_alientek_emmc.sh
1
#
!
/bin/sh
2
make ARCH
=
arm CROSS_COMPILE
=
arm
-
linux
-
gnueabihf
-
distclean
3
make ARCH
=
arm CROSS_COMPILE
=
arm
-
linux
-
gnueabihf
-
imx_v7_defconfig
4
make ARCH
=
arm CROSS_COMPILE
=
arm
-
linux
-
gnueabihf
-
menuconfig
5
make ARCH
=
arm CROSS_COMPILE
=
arm
-
linux
-
gnueabihf
-
all
-
j16
赋予运行权限
chmod 777
mx6ull_alientek_emmc.sh
./mx6ull_alientek_emmc.sh
编译的过程中会弹出kernel编译的图形配置界面,

按两下esc退出,继续编译。编译完成界面:

Linux
内核编译完成以后会在
arch/arm/boot
目录下生成
zImage
镜像文件。
NXP官方kernel移植到自己的开发板
将官方的kernel包重命名
mv linux-imx-rel_imx_4.1.15_2.1.0_ga linux-imx-rel_imx_4.1.15_2.1.0_ga_alientek
修改顶层 Makefile
直接在顶层
Makefile
文件里面定义
ARCH
和
CROSS_COMPILE
这两
个的变量值为
arm
和
arm-linux-gnueabihf-
,

配置并编译 Linux 内核
make clean
make imx_v7_mfg_defconfig //配置
Linux
内核
make -j16 //编译linux内核

Linux
内核编译完成以后会在
arch/arm/boot
目录下生成
zImage
镜像文件,如果使用设备树
的话还会在
arch/arm/boot/dts
目录下开发板对应的
.dtb(
设备树
)
文件,比如
imx6ull-14x14-evk.dtb