提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容:
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 kernel
zImage-imx6ull-14x14-evk -emmc.dtb dtb
rootfs_nogpu.tar.bz2 rootfs
提示:以下是本篇文章正文内容,下面案例可供参考
一、系统烧写
本小节我们就来学习如何将我们做好的系统烧
写到开发板中,首先是准备好要烧写的原材料:
①、自己移植编译出来的 uboot 可执行文件: u-boot.imx。(在我的uboot目录下没有uboot.imx,不知道哪里错了,以后慢慢找吧再重新做一遍,现在就用例程源码中开发板对应的uboot源码)
编译出来的 u-boot.imx(u-boot.bin 前面加了一些头文件)
②、自己移植编译出来的 zImage 镜像文件和开发板对应的.dtb(设备树),对于 I.MX6UALPHA 开发板来说就是 imx6ull-alientek-emmc.dtb。(之前通过tftp下载,已经在tftpboot目录下)
③、自己构建的根文件系统 rootfs,这里我们需要对 rootfs 进行打包,进入到 Ubuntu 中的rootfs 目录中,然后使用 tar 命令对其进行打包,命令如下:
cd rootfs/
tar -vcjf rootfs.tar.bz2 *
完成以后会在 rootfs 目录下生成一个名为 rootfs.tar.bz2 的压缩包,将 rootfs.tar.bz2 发送到windows 系统中。
将上面提到的这 4 个“原材料”都发送到 Windows 系统中,如图 所示:
材料准备好以后还不能直接进行烧写,必须对其进行重命名,否则的话 ucl2.xml 是识别不出来的,前面讲解 ucl2.xml 语法的时候已经说过了,图 39.4.1 中的这四个文件重命名见表
接下来就是用我们的文件替换掉 NXP 官方的文件,先将图 中
1 zImage、 u-bootimx6ull14x14evk_emmc.imx 和 zImage-imx6ull-14x14-evk-emmc.dtb 这三个文件拷贝到 mfgtoolswith-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware 目录中,替换掉原来的文件。
2 然后将图中的所有 4 个文件都拷贝到 mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files目录中,这两个操作完成以后我们就可以进行烧写了。从USB01000000,启动,拔出TF卡
3 双击“mfgtool2-yocto-mx-evk-emmc.vbs”,打开烧写软件,点击“Start”按钮开始烧写,由于我们自己制作的 rootfs 比较小,因此烧写相对来说会快一点(实际是我烧录的非常慢,比nxp的还慢)。烧写完成以后设置开发板从EMMC 启动,启动我们刚刚烧写进去的系统,测试有没有问题。
2 网络开机自启动设置
大家在测试网络的时候可能会发现网络不能用,这并不是因为我们将系统烧写到 EMMC(10100110) 中以后网络坏了。仅仅是因为网络没有打开,我们用 NFS 挂载根文件系统的时候因为要使用 NFS服务,因此 Linux 内核会打开 eth0 这个网卡,现在我们不使用 NFS 挂载根文件系统,因此 Linux内核也就不会自动打开 eth0 网卡了。我们可以手动打开网卡,首先输入“ifconfig -a”命令查看一下 eth0 和 eth1 是否都存在,结果如图 所示:
可以看出 eth0 好 eth1 都存在,既然存在我们就打开,以打开 eth0 网卡为例,输入如下命令打开 eth0:
ifconfig eth0 up
ifconfig eth1 up
每次开机以后都要自己手动打开网卡,然后手动设置 IP 地址也太麻烦了,有没有开机以后自动启动网卡并且设置 IP 地址的方法呢?肯定有的,我们将打开网卡,设置网卡 IP 地址的命令添加到/etc/init.d/rcS 文件中就行了,完成以后的 rcS 文件内容如下所示:
vi /etc/init.d/rcS
ifconfig eth0 up
#udhcpc -i eth0
ifconfig eth0 192.168.1.50 netmask 255.255.255.0
route add default gw 192.168.1.1
ifconfig eth1 up
ifconfig eth1 192.168.1.80 netmask 255.255.255.0
route add default gw 192.168.1.1
重启开发板
reboot
网络设置一直改不过来,不知道是不是用原子的u-boot.imx原因,等我重新配置好uboot再看看
修改了uboot.imx,配置完IPP地址还是不行
2 改造我们自己的烧写工具
用到再改吧·