Menu Close

U-Boot FAT 与 EXT 格式文件系统操作命令

此文章介绍了 U-Boot 中有关 FAT 与 EXT 格式文件系统的操作命令。

相关参考文章:SOC 教学教案

 

FAT 格式文件系统操作命令

FAT 格式在开发板中通常用于 SD 卡的 boot 分区,因为 SoC 的 bootloader 引导程序只能看懂 fat 格式的文件系统。

 

fatinfo

fatinfo 用于搜寻指定 MMC 分区文件系统信息。命令格式如下:

其中 interface 指连接端口,dev 是搜寻的设备,part 是搜寻的分区。如果我们要搜寻 SD 卡中的第一分区,我们将使用以下命令。可以看到 SD 卡的第一分区是 FAT32 格式。

fatinfo mmc 0:1

%title插图%num

 

fatls

fatls 主要用于搜寻 FAT 格式的设备目录以及文件信息。命令格式如下:

fatls <interface>[<dev[:part]>] [directory]

其中 interface 是连接端口,dev 是搜索的设备,part 是搜索的分区,directory 是搜索的目录。如果我们搜索 SD 卡第一分区的所有文件和目录,我们将使用以下命令。

fatls mmc 0:1

%title插图%num

如上图所示,SD 卡的第一分区有两个文件:BOOT.BIN 和 image.ub。

 

fstype

fstype 用于查看 MMC 设备分区的文件系统格式。命令格式如下:

因为我们的 SD 卡有两个分区,我们可以使用以下命令查看每个分区的格式。

fstype mmc 0:1

fstype mmc 0:2

%title插图%num

可以看到分区一是 fat 格式,且分区二是 ext4 格式。

 

fatload

fatload 用于把指定的文件读取到 DRAM。命令格式如下:

fatload <interface> [<dev[:part]>[<addr>[<filename>[bytes[pos]]]]]

其中 interface 是连接端口,dev 是设备,part 是分区,addr 是 DRAM 的存储起始地址,filename 是读取的文件名,bytes 是信息读取大小数量(如果不指定将默认读取整个文件),pos 是文件在内存中的地址之间的差别(如果不指定将从文件默认起始地点开始)。作为例子我们将把 SD 卡中第一分区的 BOOT.BIN 读取到 DRAM 中的 0x00000000。

fatload mmc 0:1 00000000 BOOT.BIN

%title插图%num

 

fatwrite

fatwrite 用于把 DRAM 信息写到 MMC 设备。命令格式如下:

fatwrite <interface> <dev[:part]> <addr> <filename> <bytes>

其中 interface 是连接端口,dev 是设备,part 是分区,addr 是 DRAM 的存储起始地址,filename 是读取的文件名,bytes 是信息读取大小数量(如果不指定将默认读取整个文件)。fatwrite 可以用于更新 Linux 镜像文件和设备树。

作为示范我们将更新 Linux 镜像文件 image.ub。首先我们把 image.ub 从我们的工程文件夹考到 tftpboot 目录下。如果您跟随我们之前的教材的话,tftpboot 目录应该就在根目录中。PetaLinux 工程重新搭建完后将直接将其拷贝到 tftp service 目录下。

现在我们可以使用 tftpboot 命令把 image.ub 文件下载到 DRAM 的 0x00000000。

tftpboot 00000000 image.ub

%title插图%num

我们可以看到文件大小为 4160484 字节,相等于十六进制的 3f7be4。我们可以使用 fatwrite 将其写入 SD 卡中的第一分区,并用 fatls 验证是否顺利。

fatwrite mmc 0:1 00000000 image.ub 0x3f7be4

%title插图%num

 

EXT 格式文件系统操作命令

U-Boot 拥有 ext2 和 ext4 文件系统的操作命令。其中最常用的是 ext2loadext2lsext4loadext4ls,以及 ext4write。他们的使用方法和 fatloadfatls,和 fatwrite 一样。它们的区别在于特定的文件系统和格式。作为示范我们将使用 ext4ls 查看 SD 卡第二分区中的文件和目录,因为 SD 卡的第二分区是 ext4 格式。使用 ext4 的原因在于 ext4 是目前各方面最好的文件系统。

ext4ls mmc 0:2

%title插图%num

Posted in 教材与教案

发表评论

相关链接