FPGA----基于ZYNQ 7020实现petalinux文件持久化存储

发布于:2025-05-07 ⋅ 阅读:(7) ⋅ 点赞:(0)

引言:由于当前的 PetaLinux 系统使用了临时的内存文件系统(initramfs),导致每次重启后所有更改(包括安装的 EPICS)都会丢失。为了解决这个问题,您需要将根文件系统(rootfs)配置为使用 SD 卡上的持久性存储(如 ext4 分区)。

本文基于下述文章搭建:

FPGA----基于ZYNQ 7020实现petalinux并运行一个程序-CSDN博客文章浏览阅读391次,点赞6次,收藏11次。本文实现了xilinx sdk与petalinux的联合使用,在sdk仿真完毕后,可以将程序移植到petalinux中运行petalinux app。 https://blog.csdn.net/qq_37912811/article/details/1477282051、在 PetaLinux 项目目录中运行以下命令:

petalinux-config

2、在弹出的配置菜单中,导航至:

Image Packaging Configuration → Root File System Type

 选择SD卡存储

 4、重新构建 PetaLinux 项目:

petalinux-build



petalinux-package --boot --u-boot --fpga --force

5、格式化sd卡,需要一个FAT分区,一个EXT4分区

(1)把开发板的 sd 卡插入读卡器,然后插入电脑的 USB 口
(2)连接到虚拟机 Linux 中

(3)在 ubuntu 的搜索路径中,输入 disk,会出现 Disks 的图标 

(4)鼠标点击 Disks 图标,出现"Disks"的对话框,将 SD 卡分为2个分区,一个名为FAT,一个名为 EXT,这里要重新分区。 

(5)点击添加分区的图标,添加第一个分区,填写 5000MB,格式为 FAT,用于存放ZYNQ 的启动文件 BOOT.bin 和内核文件、设备树,名称为 FAT

(6)创建第二个分区,用于存放根文件系统,格式为 EXT4,名称为 EXT4

6、同步根文件到EXT4分区

执行"petalinux-build"后,在images/linux下会生成rootfs.ext文件

  • 使用工具(如 fdiskgparted)将 SD 卡分为两个分区:

    • 第一个分区(FAT32):用于存放 BOOT.BINimage.ub

    • 第二个分区(ext4):用于作为根文件系统。

  • 格式化第二个分区为 ext4 文件系统。

  • 将构建生成的 rootfs.ext4 文件写入第二个分区:

(1)确保sd卡已经被卸载

# 卸载我们的EXT4分区
sudo umount /media/yangzheng/EXT4

(2)查找EXT4对应的设备

lsblk

 我这里配置的容量是2.5GB,所以它叫“sdb2”

 所以我们复制的命令为:

cd ~
cd /home/yangzheng/Downloads/ax7z020/ax_peta/images/linux
sudo dd if=rootfs.ext4 of=/dev/sdb2 bs=4M 

 (3)将 BOOT.BINimage.ub移动至 FAT分区

 7、上电启动,我们新建epics文件夹,将一些文件上传并重启,如果看到文件夹还在那么表示成功。 

 


网站公告

今日签到

点亮在社区的每一天
去签到