imx6ul- 正点原子-imx6ul学习笔记(3)

四:根文件系统构建(2020.3.17\2020.3.19)

目录:/home/jk9/nfs/rootfs

1)根文件系统简介

2)BusyBox 构建根文件系统

1:BusyBox 简介

2: 编译 BusyBox 构建根文件系统

1、修改 Makefile,添加编译器

2、 busybox 中文字符支持

3、 配置 busybox

4、 编译 busybox(2020.3.19.22:21)

3) 向根文件系统添加 lib 库

1、向 rootfs 的“ /lib”目录添加库文件

2、向 rootfs 的“ usr/lib”目录添加库文件

3、创建其他文件夹

4) 根文件系统初步测试(2020.3.20.22:25)

		setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.1.25:/home/jk9/nfs/rootfs ip=192.168.1.24:192.168.1.25:192.168.1.1:255.255.255.0::eth0:off'

1、创建/etc/init.d/rcS 文件
2、创建/etc/fstab 文件
3、创建/etc/inittab 文件

5) 根文件系统其他功能测试

1、软件运行测试

		开发板:后台运行 xxx& ; 关闭某个后台运行,输入ps命令查看当前软件的PID.通过kill -9 PID;

2、中文字符测试

1、设置 SecureCRT 使用 UTF-8 编码
2、 创建中文文件
3、开机自启动测试
4、外网连接测试(2020.3.21.10:08)
完善根文件系统

五:系统烧写

目录:F:\imx6ull\MfgTool\L4.1.15_2.0.0-ga_mfg-tools

1) MfgTool 工具简介

1、mfgtool 是nxp 官方做的向IMX 系列烧写系统的软件,运行在window 下。可以烧写uboot.imx、zImage、dtb、rootfs。通过usb烧写。

Mfgtool 里面默认存放了NXP 官方的系统文件。

2、基本原理

向开发板烧写系统分为两部分:

1、先向开发板的DDR下载一个Linux系统

2、通过前面下载到DDR中的Linux系统完成最终的烧写工作。

F:\imx6ull\MfgTool\L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools\Profiles\Linux\OS Firmware 下有:
files 和 firmware 两个文件夹
files里面保存着最终烧写到开发板中的uboot.imx、zImage、dtb以及rootfs。
firmware里面保存着第一部的uboot.imx、zImage、dtb

3、烧写脚本就是各种.vbs文件

在F:\imx6ull\MfgTool\L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools下有很多.vbs
.vbs脚本其实本质上是打开 mfgtool2.exe,然后跟着一堆的参数,linux.eMMc.board=sabreauto、mmc=1、6uluboot=14x14evk、6uldtb=14x14-evk.

4、ucl2.xml文件

目录:F:\imx6ull\MfgTool\L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools\Profiles\Linux\OS Firmware

ucl2.xml文件负责在files和firmware里面挑选合适的文件。如果是mx6ull的话,uboot就是:firmware/u-boot-imx6u%lite%%6ulubooot%_sd.imx展开以后就是
firmware/u-boot-imx6ull14x14evk _sd.imx
根据%lite% = l ,%6ulubooot% =14x14evk

2)MfgTool 工作原理简介

3) 烧写 NXP 官方系统

4)烧写自制的系统

1、firmare 下的文件名

u-boot-imx6ull14x14evk_emmc.imx uboot
zImage
zImage-imx6ull-14x14-evk-emmc.dtb dtb

2、files 下的文件名

u-boot-imx6ull14x14evk_emmc.imx uboot
zImage
zImage-imx6ull-14x14-evk-emmc.dtb dtb
rootfs_nogpu.tar.bz2 rootfs

ubuntu 问题和解决方法

1:ubuntu16.04 出现域名解析暂时失败 解决方法

解决网址:

https://blog.csdn.net/tsq292978891/article/details/75039926?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

2:make menuconfig U-Boot 图形化配置体验

sudo apt-get install build-essential
sudo apt-get install libncurses5
sudo apt-get install libncurses5-dev

3:根文件系统的缺失

设置bootcmd 和bootargs
bootcmd:设置默认从网络启动,通过TFTP;

setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000;' saveenv

bootargs:

 setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw'(2020.3.15.22:08) (编译设备树 make dtbs )

4、MfgTool烧写自制的系统,烧写中断问题(解决办法来自正点原子论坛)

再跟着左盟主学习自制mfgtools的时候,使用自己定制的mfgtools总是会出现在烧写到一半断开连接然后便一直无法连接的情况
后来在群里问了一下,左盟主一语点醒梦中人
经过自己的实验
发现fileware下面的文件可以不用替换,只需要将自己修改好的uboot,Linux内核镜像,设备树以及根文件系统拷贝到file目录下进行替换
因为fileware下面的uboot与Linux镜像以及设备树只是做引导下载的作用,不影响我们后面的使用

拷贝文件:zImage、 u-bootimx6ull14x14evk_emmc.imx 和 zImage-imx6ull-14x14-evk-emmc.dtb 替换file目录

你可能感兴趣的:(imx6ull)