网站优化建设桂林,网店运营计划书范文,黄石有哪些做视觉网站的公司,网站 建立目录出错一. 简介
本文我们就来学习#xff0c;如何将我们编译的 uboot#xff0c;zImage#xff08;内核镜像#xff09;#xff0c;xxx.dtb设备树文件#xff0c;还有制作的根文件系统#xff0c;这四个文件烧写到开发板中#xff0c;最后 开发板能正常启动。
本文这里使用…一. 简介
本文我们就来学习如何将我们编译的 ubootzImage内核镜像xxx.dtb设备树文件还有制作的根文件系统这四个文件烧写到开发板中最后 开发板能正常启动。
本文这里使用 NXP恩智浦官方提供的 MfgTool烧写工具烧写我们自己的文件。 二. 使用MfgTool烧录前准备的文件 本文使用 NXP恩智浦官方提供的 MfgTool烧写工具烧写系统。
具体使用 mfgtools-without-rootfs.tar.gz 烧写工具即带文件系统的这个烧写工具。
我这里所使用的 ALPHA开发板是 nand-Flash版的所以这里所要烧录的 ubootzImage与设备树文件都必须是针对 nand-Flash版的。而 根文件系统rootfs没有 EMMC或 Nand-Flash的区分无非就是 EMMC容量大一些比 nand-Flash版开发板根文件系统中也可以添加比 Nand-Flash版开发板多一些的其他文件或程序。 需要准备烧写的文件 (1) 自己移植编译出来的 uboot 可执行文件 u-boot.imx 。 (2) 自己移植编译出来的 zImage 镜像文件和开发板对应的 .dtb( 设备树 ) 对于 I.MX6U ALPHA 开发板来说就是 imx6ull-alientek-emmc.dtb 。 (3) 自己构建的根文件系统 rootfs 这里我们需要对 rootfs 进行打包。 1. uboot 文件
uboot使用 之前我们一直使用的 NXP 官方提供的 uboot源码编译因为之前一直使用正点原子的 MfgTool烧录工具烧录的根文件系统同时也为了开发板通过 tftp服务可以从 ubuntu中加载 zImage和设备树文件所以uboot源码更改了 nand-Flash版对应的 bootargs参数值。
这里需要将 bootargs参数更回到 NXP官方提供的值。
打开 include/configs/mx6ull_alientek-nand.h文件找到nand-Flash对应的 bootargs参数设置代码如下代码
#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \CONFIG_MFG_ENV_SETTINGS \panelTFT43AB\0 \fdt_addr0x83000000\0 \fdt_high0xffffffff\0 \consolettymxc0\0 \ipaddr192.168.1.50\0 \ethaddrb8:ae:1d:01:00:00\0 \gatewayip192.168.1.1\0 \serverip192.168.1.66\0 \netmask255.255.255.0\0 \bootargsconsolettymxc0,115200 ubi.mtd5 \rootubi0:rootfs rootfstypeubifs \CONFIG_BOOTARGS_CMA_SIZE \mtdpartsgpmi-nand:4m(u-boot),128k(env),1m(logo),1m(dtb),8m(kernel),-(rootfs)\0\bootcmdtftp 0x80800000 zImage;\tftp ${fdt_addr} imx6ull-alientek-nand.dtb;\bootz 0x80800000 - ${fdt_addr}\0
else
......................................... 将上面的代码更改为如下
#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \CONFIG_MFG_ENV_SETTINGS \panelTFT43AB\0 \fdt_addr0x83000000\0 \fdt_high0xffffffff\0 \consolettymxc0\0 \bootargsconsolettymxc0,115200 ubi.mtd4 \rootubi0:rootfs rootfstypeubifs \CONFIG_BOOTARGS_CMA_SIZE \mtdpartsgpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0\bootcmdnand read ${loadaddr} 0x4000000 0x800000;\nand read ${fdt_addr} 0x5000000 0x100000;\bootz ${loadaddr} - ${fdt_addr}\0
#else
....................................... 重新编译 uboot源码生成的 u-boot.imx 文件备用。 2. 内核镜像 zImage 和 .dtb设备树文件 Linux内核镜像文件 zImage 与设备树文件 也是 NXP官方的 Kernel源码编译生成的是前面我们在 NXP官方 kernel源码的基础上做改动最终编译出的 nand-Flash版的 zImage和 设备树文件 imx6ull-alientek-nand.dtb 。
zImage所在目录 linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/boot
imx6ull-alientek-nand.dtb 所在目录/linux-imx-rel_imx_4.1.15_2.1.0_ga/arch/arm/boot/dts
这两个文件 留待备用。 3. 自制的根文件系统rootfs 要烧录开发板上的 根文件系统使用前面我制作的 rootfs。我所制作的 根文件系统rootfs 在 ubuntu系统下的 /linux/nfs_File 目录下。
这里我们需要对 rootfs 进行打包进入到 Ubuntu 中的 rootfs 目录中然后使用 tar 命令对其进行打包命令如下 wangtianwangtian-virtual-machine:~/linux/nfs_File$ cd rootfs/ wangtianwangtian-virtual-machine:~/linux/nfs_File/rootfs$ tar -cvjf rootfs.tar.bz2 * 完成以后会在 rootfs 目录下生成一个名为 rootfs.tar.bz2 的压缩包 wangtianwangtian-virtual-machine:~/linux/nfs_File/rootfs$ ls
中文测试 dev hello lib mnt root sbin tmp
bin etc hello.c linuxrc proc rootfs.tar.bz2 sys usr
wangtianwangtian-virtual-machine:~/linux/nfs_File/rootfs$ 三. 更改待烧录文件名 因为使用 NXP官方提供的 MfgTool工具进行烧写我所使用的开发板是 Nand-Flash版所以需要确认NXP的 MfgTool工具内部对应的 Nand-Flash版开发板所对应烧写的四个文件是什么即是哪个uboot文件哪个内核镜像 zImage哪个设备树文件以及哪个根文件系统。
注意要烧写我自制的 系统就需要将自制的四个文件替换掉 MfgTool工具中对应 Nand-Flash版的四个文件 1. 确认 Nand-Flash版开发板对应的文件
主要替换下面两个文件夹下的文件
L4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware
L4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files firmware 文件夹下替换三种文件UbootzImagexxx.dtb 设备树文件
files文件夹下替换四种文件UbootzImagexxx.dtb 设备树文件文件系统rootfs 自制的文件准备好以后还不能直接进行烧写必须对其进行重命名否则的话 ucl2.xml 是识别不 出来的前面讲解 ucl2.xml 语法的时候已经说过了将自制的文件分别改名为如下名字即使左边一列文件名改为右边一列名字
自制文件的名字重命名 u-boot.imx u-boot-imx6ull14x14evk_nand.imx zImage zImage imx6ull-alientek-emmc.dtb zImage-imx6ull-14x14-evk-gpmi-weim.dtb rootfs.tar.bz2 rootfs_nogpu.tar.bz2 注意上面 NXP 官方对应 Nand-FLash版开发板的文件名可以通过 MfgTool工具中结合 .vbs文件mfgtool2-yocto-mx-evk-nand.vbs与 ucl2文件可以确定。 自制的文件如下 将以上四个文件改名后如下 改名后文件分别替换
firmware 文件夹下替换三种文件u-boot-imx6ull14x14evk_nand.imxzImagezImage-imx6ull-14x14-evk-gpmi-weim.dtb 设备树文件
files文件夹下替换四种文件UbootzImagexxx.dtb 设备树文u-boot-imx6ull14x14evk_nand.imxzImagezImage-imx6ull-14x14-evk-gpmi-weim.dtb 设备树文件文件系统rootfs_nogpu.tar.bz2 下一篇文章学习使用 NXP官方提供的 MfgTool工具烧写我自制的文件。