3.使用SD卡挂载petalinux根文件系统

前言

  • 说明为什么使用SD卡挂载petalinux根文件系统
  • 如何使用SD卡挂载根文件系统
    • 配置根文件写入类型
    • 制作SD分区
    • 格式化SD卡
    • 将工程目录下的rootfs.tar.gz解压到SD EXT4分区

为什么使用SD卡挂载petalinux根文件系统

  • Petalinux 默认的根文件系统类型是 INITRAMFS,不能保存文件和配置,也就说每次上电重启都会恢复最新的状态

如何使用SD卡挂载根文件系统

  • 如果使用SD卡引导linux系统启动,一般需要在SD卡上有2个分区。一个分区使用FAT32文件系统,
    用于放置启动镜像文件(如 BOOT.BIN,boot.scr 文件和 linux 镜像文件等),另一分区使用 EXT4 文件系
    统,用于存放根文件系统。

配置根文件写入类型

  • 在当前工程目录下使用指令

    • petalinux-config
  • 进入配置页面

    • Image Packaging Configuration —> Root filesystem type
    • 选择EXT4
    • 在这里插入图片描述
  • Exit

  • 当前页面 --> Device node of SD device

<think>嗯,用户问的是如何在PetaLinux中配置和设置文件系统。首先,我需要回忆一下PetaLinux的基本流程。PetaLinux工具主要是用来生成嵌入式Linux系统的,包括内核、设备树、根文件系统等。配置文件系统的话,可能需要涉及根文件系统的类型、分区设置,以及如何挂载其他分区。 根据用户提供的引用内容,特别是引用[2]和[5],用户可能遇到了根文件系统放在SD分区的问题,以及如何正确配置bootargs来指定根文件系统的位置。引用[5]中提到的问题是关于SD作为根文件系统分区时设备节点的问题,即mmcblk0还是mmcblk1,这取决于硬件中是否有其他存储设备被启用。所以,配置根文件系统时需要正确指定设备节点和分区。 另外,引用[3]提到了配置exFAT和NTFS文件系统支持,这可能需要在内核配置中启用相应的选项。用户可能需要在PetaLinux工程中进行内核配置,添加这些文件系统的支持。 接下来,我需要将这些信息整合成一个步骤指南。首先,配置根文件系统的位置,可能需要修改bootargs参数,指定root=/dev/mmcblkXpY这样的格式。然后,设置根文件系统的类型,比如ext4,这需要在内核中启用对应的驱动。另外,用户可能希望使用SD的其他分区作为可读写存储,这时候可能需要配置挂载选项,比如在fstab中添加条目。 然后,关于文件系统类型的选择,比如exFAT或NTFS,需要进入内核配置界面,找到对应的选项并启用。例如,在petalinux-config -c kernel中,找到File systems,然后勾选exFAT和NTFS的支持。 还有,引用[4]提到修改NFS配置文件,这可能涉及到网络文件系统的配置,但用户的问题主要是在本地文件系统,所以可能暂时不需要这部分,但可以作为拓展内容。 用户可能还关心如何保存对文件系统的修改,比如在根文件系统中安装软件或修改文件。引用[2]提到将根文件系统放在SD分区中,这样可以保存修改。因此,在配置时需要确保根文件系统分区是可读写的,并且正确挂载。 在步骤中,可能需要包括以下内容: 1. 设置根文件系统分区,修改bootargs。 2. 配置内核支持所需的文件系统类型。 3. 配置SD分区,包括根文件系统分区和其他数据分区。 4. 处理启动时的挂载问题,比如修改fstab或启动脚本。 还需要注意设备树的配置,比如在设备树中指定根文件系统的位置,或者确保bootargs参数正确传递给内核。引用[5]中提到设备树中可能需要配置相关参数,这可能需要用户检查设备树文件中的设置。 另外,用户可能需要了解如何生成和烧写镜像,比如使用petalinux-build和petalinux-package命令,但用户的问题主要是配置和设置,所以这部分可能不需要详细展开,但可以提及。 最后,生成相关问题,比如如何优化文件系统性能、如何解决启动时找不到根文件系统的问题,以及如何添加其他文件系统支持,如NFS。</think>### PetaLinux文件系统配置与设置教程 #### 一、根文件系统基础配置 1. **设置根文件系统位置** 在`petalinux-config`界面选择根文件系统存储设备: ``` Subsystem AUTO Hardware Settings -> Advanced bootable images storage Settings -> boot image settings -> image storage media -> primary sd -> rootfs settings -> ext4 (SD格式化为ext4时选择此项) ``` 需根据硬件连接情况选择`mmcblk0`或`mmcblk1`设备节点[^5] 2. **内核文件系统支持** 执行`petalinux-config -c kernel`,启用必要驱动: ```bash File systems -> <*> ext4 # 标准Linux文件系统 <*> exFAT # 大容量存储支持 <*> NTFS # Windows兼容格式[^3] ``` #### 二、SD分区配置示例 1. **分区方案** 建议使用两个分区: ```bash /dev/mmcblk0p1: FAT32格式(存放BOOT.BIN、image.ub) /dev/mmcblk0p2: ext4格式(根文件系统) ``` 2. **配置启动参数** 在`petalinux-config`中设置bootargs: ```bash DTG Settings -> Kernel Bootargs -> generate boot args automatically 手动修改为: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait ``` 关键参数说明: - `root=` 指定根文件系统设备 - `rw` 启用读写模式 - `rootwait` 等待设备就绪 #### 三、持久化存储配置 1. **SD数据分区** 创建第三个分区作为数据存储区(如/dev/mmcblk0p3),在`/etc/fstab`中添加: ```bash /dev/mmcblk0p3 /mnt/data ext4 defaults 0 0 ``` 通过`mount -a`测试挂载[^2] 2. **文件系统扩展包安装** 在`petalinux-config -c rootfs`中添加软件包: ```bash Filesystem Packages -> base -> busybox misc -> ntfs-3g misc -> exfat-utils ``` #### 四、镜像生成与烧录 1. 构建完整系统: ```bash petalinux-build petalinux-package --boot --fsbl zynqmp_fsbl.elf --u-boot ``` 2. 使用`dd`命令烧录镜像至SD: ```bash sudo dd if=images/linux/BOOT.BIN of=/dev/sdX bs=4M ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啥都不会的研究昇

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值