为zynq 格式化 SD 引导卡

Posted 姚家湾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为zynq 格式化 SD 引导卡相关的知识,希望对你有一定的参考价值。

介绍

虽然有些 Linux 系统只需要一个 FAT 格式的引导分区(例如,那些使用 ramdisk 的系统),但有些系统需要第二个 ext4 格式的分区来保存根文件系统。在本教程中,FAT 分区将被称为“启动”分区,用于保存启动映像(BOOT.BIN)和 Linux 映像(image.ub 或 Image + .dtb)。根文件系统的 ext4 分区将被称为“根”。 

创建两个分区

这些步骤假设您使用的是空白、未格式化的 SD 卡,上面没有现有分区。我们将使用 Linux 中的 fdisk 实用程序来创建新分区。Fdisk 是基于文本的工具,用于在磁盘上创建分区。您还可以使用 gparted,它是 gui 基本分区工具。

  • 首先,卸载您的磁盘并使用您的设备名称启动 fdisk。就我而言,我的 SD 卡位于 /dev/sdc: 
$ sudo fdisk /dev/sdc

  • 键入 p,查看您当前的分区表。
  • 如果您有现有的分区,您可以通过键入“d”来删除它们

fdisk - 检查分区
  • 通过键入“n”创建一个新分区。
  • 通过选择'p'使其成为主分区
  • 使用默认分区号和第一个扇区。
  • 通过键入 +1G 为该分区留出 1G(此值可以根据您的需要而有所不同 - 卡的其余部分将用于第二个分区)

fdisk - 新分区
 
  • 通过键入“a”在此分区上设置可引导标志。
  • 现在,如果您使用“p”打印出分区表,您应该会在 Boot 下看到带有 * 的新分区。

  • 通过键入“n”创建根分区。
  • 选择主分区(p)
  • 保留第一个和最后一个扇区的默认值。

fdisk - 新分区
 
  • 如果您现在检查您的分区表,您应该会看到刚刚创建的 2 个分区。
  • 验证后键入“w”写入磁盘并退出。

格式化分区

创建分区后,下一步是使用适当的文件系统对其进行格式化。 

引导分区

引导分区应始终格式化为 FAT。要将第一个分区格式化为 FAT,请使用以下命令:

$ mkfs.vfat -F 32 -n boot /dev/sdc1 

根分区

根据您的 Linux 配置,根分区可以格式化为 ext2/ext4。要将第二个分区格式化为 ext4,请使用以下命令: 

$ mkfs.ext4 -L root /dev/sdc2

如果您的根文件系统构建工件是未压缩的 ext4 映像(即 rootfs.ext4),您可以跳过此步骤

将映像复制到新分区

挂载分区,以便您可以将引导映像和根文件系统复制到卡上。 

引导分区

        对于启动映像,只需将文件复制到 FAT 分区即可。这通常包括 BOOT.BIN、image.ub 和 boot.scr(2020.1 及更高版本)。但是,您的系统可能需要 FAT 文件系统上的其他文件。 

根分区

对于根文件系统,该过程将取决于您的根文件系统映像的格式。 

屋顶.ext4 -  这是一个未压缩的 ext4 文件系统映像。要将内容复制到根分区,可以使用以下命令: 
dd if=rootfs.ext4 of=/dev/sdc2

以上是关于为zynq 格式化 SD 引导卡的主要内容,如果未能解决你的问题,请参考以下文章

关于ZYNQ-700是否支持大容量SD卡汇报

zynq 以太网和SD卡不能正常工作

需要从linux目录制作可启动的SD卡

ZYNQ7000系列学习之TF卡读写实验

ZYNQ7000系列学习之TF卡读写实验

SD卡命令格式