PetaLinux 建立存储于 SD 卡的文件系统

一、简介

通过这篇文章,您可以使用 PetaLinux 构建您的 Linux 嵌入式系统。并将文件系统保存在 SD 卡中,掉电不丢失。

二、操作

  • 1、格式化SD卡

将 SD 卡分为 FAT32 和 Ext4 前后两个分区,第一个分区百兆即可,第二个分区约3GB,以可以存储一个Ubuntu(Libaro)系统为佳。

在 Ubuntu 中点击搜索框,运行磁盘(Disk Utility)工具。

点击 “ - ” 号删除现有分区

点击 “ + ” 号新建 FAT、Ext4 分区

操作完成,重新插拔 TF 卡

  • 2、切换目录:
$ cd ./zed_sound_csdn
  • 3、配置工程:
$ petalinux-config

进入 “Image Packaging Configuration” 选项卡;

进入 “Root filesystem type” 子选项卡;

选择 “SD card” 作为 RootFS 文件系统。

Save and Exit...

  • 4、修改设备树

以上操作会更新全部设备树文件,记得要重新修改 “pl.dtsi” ;与之前非 SD 卡工程不同的是,PetaLinux 在 bootargs 尾部又加上了一行参数,可以在 “subsystems/linux/configs/device-tree/system-conf.dtsi” 看到它。

chosen {
	bootargs = "console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait";
	};

  • 5、编译
$ petalinux-build

三、部署在SD卡

  • 1、Source SDK,在 image 目录下执行以下命令,生成 BOOT.BIN
$ source /opt/Xilinx/SDK/2015.4/settings64.sh
$ petalinux-package --boot --fsbl <FSBL image> --fpga <FPGA bitstream> --u-boot
$ petalinux-package --boot --fsbl zynq_fsbl.elf --fpga system_wrapper.bit --u-boot
  • 2、将 BOOT.BIN 、image.ub 复制到 FAT32 分区

可以看到,因为剥离了文件系统,image.ub 从 6.4MB 减少到 3MB。同时新系统支持了 shutdown 等命令。

新生成的文件系统 “rootfs.cpio 大约7MB。

  • 3、将文件系统复制到 Ext4 分区
$ cp images/linux/rootfs.cpio   /media/rootfs/
$ cd /media/rootfs
$ sudo apt-get install pax
$ sudo pax -rvf rootfs.cpio

四、后续

上电并进入系统,在 “/mnt” 目录下建立文件夹 “udisk”,如果重启后文件夹还在,实验成功。

记得使用 shutdown 命令关机,不要硬掉电。

# cd /mnt
# mkdir udisk

# shutdown -h now

五、说明

转载请注明出处及作者。

  • 5
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值