NXP官方Linux内核编译

一.  Linux内核移植简介

NXP 提供的 Linux 源码肯定是可以在自己的 I.MX6ULL EVK 开发板上运行下去的,所以,我们肯定是以 I.MX6ULL EVK 开发板为参考,然后将 Linux 内核移植到 I.MX6U-ALPHA 开发板上的。

这里就是测试,是否能在正点原子的开发板上运行 NXP官方提供的I.MX6ULL EVK的Linux内核或设备树。

前提是:硬件配置是一样的。即DDR,例如,恩智浦官方所使用的开发板的DDR是 512MB,那么,这里所使用的开发板DDR 容量也必须是 512MB。

二.   Linux内核移植

NXP官方的Linux内核源码:

/【正点原子】阿尔法Linux开发板(A盘)-基础资料-2022 /【正点原子】阿尔法Linux开发板(A盘)-基础资料 / 例程源码 / NXP官方原版Uboot和Linux

上述目录下的 uboot与 Linux源码包就是恩智浦官方提供的 uboot 与 Linux。

1.  配置并编译 Linux内核

(1)  首先,将 NXP官方提供的 Linux源码包,传输到 ubuntu系统下,解压缩。

使用如下命令解压 Linux源码包:

tar -xvf linux-imx-rel_imx_4.1.15_2.1.0_ga.tar.bz2 

(2)  其次,写配置编译命令。这里写一个 shell脚本,将 配置与编译命令写入脚本文件。

注意:在编译 Linux 内核之前要先配置 Linux 内核。每个板子都有其对应的默认配置文件 , 这 些 默 认 配 置 文 件 保 存 在 arch/arm/configs

imx_v7_defconfig imx_v7_mfg_defconfig 都可作为 I.MX6ULL EVK 开发板所使用的默认配置文件。但是这里建议 使用 imx_v7_mfg_defconfig 这个默认配置文件,首先此配置文件默认支持 I.MX6UL 这款芯片, 而且重要的一点就是此文件编译出来的 zImage 可以通过 NXP 官方提供的 MfgTool 工具烧写!!

进入 Linux内核源码的根目录下,创建 shell脚本文件,命名为 imx6ull_evk_nand.sh。上面的配置文件在这里会写进配置命令。

操作如下:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/configs$ gedit imx6ull_evk_nand.sh

imx6ull_evk_nand.sh 文件命令如下:

#!/bin/sh

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx_v7_mfg_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- all

更改 imx6ull_evk_nand.sh 脚本执行权限:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga$ chmod 777 imx6ull_evk_nand.sh

(3)  最后,编译 Linux内核。

运行 imx6ull_evk_nand.sh 脚本进行编译:

wangtian@wangtian-virtual-machine:~/zhengdian_Linux/linux/kernel/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/dts$ ./imx6ull_evk_nand.sh

Linux 内核编译完成后,会在 arch/arm/boot 目录下生成 zImage 镜像文件,如果使用设备树 的话还会在 arch/arm/boot/dts 目录下开发板对应的 .dtb( 设备树 ) 文件。
例如, imx6ull-14x14-evk.dtb 就是 NXP 官方的 I.MX6ULL EVK 开发板对应的设备树文件。
至此我们得到两个文件:
①  Linux 内核镜像文件: zImage
②  NXP 官方 I.MX6ULL EVK 开发板对应的设备树文件: imx6ull-14x14-evk.dtb

下一篇文章验证 zImage与设备树文件是否可以成功启动 开发板。

猜你喜欢

转载自blog.csdn.net/wojiaxiaohuang2014/article/details/133311648