FAT 格式文件系统操作命令
- fatinfo 命令
fatinfo 命令用于查询指定 MMC 设备分区的文件系统信息,格式如下:
fatinfo [<dev[:part]>]
interface 表示接口,比如 mmc, dev 是查询的设备号, part 是要查询的分区。比如我们要查
询 EMMC 分区 1 的文件系统信息,命令如下:
fatinfo mmc 1:1
结果如图
- fatls 命令
fatls 命令用于查询 FAT 格式设备的目录和文件信息,命令格式如下:
fatls [<dev[:part]>] [directory]
interface 是要查询的接口,比如 mmc, dev 是要查询的设备号, part 是要查询的分区, directory
是要查询的目录。比如查询 EMMC 分区 1 中的所有的目录和文件,输入命令
fatls mmc 1:1
结果如图
- fstype 命令
fstype 用于查看 MMC 设备某个分区的文件系统格式,命令格式如下:
fstype :
正点原子 EMMC 核心板上的 EMMC 默认有 3 个分区,我们来查看一下这三个分区的文件
系统格式,输入命令
fstype mmc 1:0
fstype mmc 1:1
fstype mmc 1:2
结果如图
从上图可以看出,分区 0 格式未知,因为分区 0 存放的 uboot,并且分区 0 没有格式化,所
以文件系统格式未知。分区 1 的格式为 fat,分区 1 用于存放 linux 镜像和设备树。分区 2 的格
式为 ext4,用于存放 Linux 的根文件系统(rootfs)。
- fatload命令
fatload 命令用于将指定的文件读取到 DRAM 中,命令格式如下:
fatload [<dev[:part]> [ [ [bytes [pos]]]]]
interface 为接口,比如 mmc, dev 是设备号, part 是分区, addr 是保存在 DRAM 中的起始
地址, filename 是要读取的文件名字。 bytes 表示读取多少字节的数据,如果 bytes 为 0 或者省
略的话表示读取整个文件。 pos 是要读的文件相对于文件首地址的偏移,如果为 0 或者省略的
话表示从文件首地址开始读取。我们将 EMMC 分区 1 中的 zImage 文件读取到 DRAM 中的
0X80800000 地址处,命令如下:
fatload mmc 1:1 80800000 zImage
BOOT 操作命令
uboot 的本质工作是引导 Linux,所以 uboot 肯定有相关的 boot(引导)命令来启动 Linux。常
用的跟 boot 有关的命令有: bootz、 bootm 和 boot。
- bootz 命令
要启动 Linux,需要先将 Linux 镜像文件拷贝到 DRAM 中,如果使用到设备树的话也需要
将设备树拷贝到 DRAM 中。可以从 EMMC 或者 NAND 等存储设备中将 Linux 镜像和设备树文
件拷贝到 DRAM,也可以通过 nfs 或者 tftp 将 Linux 镜像文件和设备树文件下载到 DRAM 中。
不管用那种方法,只要能将 Linux 镜像和设备树文件存到 DRAM 中就行,然后使用 bootz 命令
来启动, bootz 命令用于启动 zImage 镜像文件, bootz 命令格式如下:
bootz [addr [initrd[:size]] [fdt]]
命令 bootz 有三个参数, addr 是 Linux 镜像文件在 DRAM 中的位置, initrd 是 initrd 文件在
DRAM 中的地址,如果不使用 initrd 的话使用‘-’代替即可, fdt 就是设备树文件在 DRAM 中
的地址。
从EMMC启动
mmc dev 1 //切换到EMMC
fatls mmc 1:1 //查看EMMC分区1里面的文件
fatload mmc 1:1 80800000 zImage //将zimage下载到DDR的0x80800000处
fatload mmc 1:1 imx6ull-14x14-emmc-7-800x480-c.dtb //将dtb读取到0X83000000
bootz 80800000 – 83000000 //启动内核
如果内核启动成功,说明uboot支持emmc启动,验证成功。
从网络启动
先ping Ubuntu是否ping通
ping 192.168.28.100
tftpboot下有需要的文件
tftp 80800000 zImage //从tftp服务器下载zimage
tftp 83000000 imx6ull-14x14-emmc-7-800x480-c.dtb //从tftp服务器下载.dtb
bootz 80800000 – 83000000 //启动系统
执行过程