【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件

简介: 【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件

在 这篇文章 中学习了使用 PetaLinux 定制 Linux 的方法,制作了 SD 卡启动文件,本期介绍如何使用 PetaLinux 配置生成从 QSPI Flash 启动的 Linux 镜像文件。


复制 Petalinux 工程

如果我们想保留 SD 卡启动的 Petalinux 工程,但是又不想新建一个,我们可以把老工程复制一份。

  • 在工程目录同时按键 Ctrl +H,显示隐藏文件,将 project-spec、.petalinux、config.project 复制到一个新的目录,作为一个新的 Petalinux 工程

  • 再把 images/linux 目录下的 bit 文件也复制到新的工程目录下,用于合成带 PL 配置的 BOOT

  • 进入新工程,右键选择打开终端


配置编译 Petalinux

  • 配置 Vivado 和 Petalinux 环境变量
source /opt/pkg/petalinux/settings.sh
source /opt/Xilinx/Vivado/2017.4/settings64.sh

  • 使用 petalinux-config 命令配置 Petalinux 工程
petalinux-config

  • 进入 Petalinux 配置界面


在 Subsystem AUTO Hardware Settings ---> Advanced bootable images storage Settings ---> boot image settings ---> image storage media 选项中选择 primary flash

在 Subsystem AUTO Hardware Settings ---> Advanced bootable images storage Settings ---> kernel image settings ---> image storage media 选项中选择 primary flash


  • Subsystem AUTO Hardware Settings → Flash Settings 中可以修改 QSPI flash 的分区,默认的
    就差不多可以使用,如果你的文件大小超过了默认分区的大小,要自己调整一下

  • Image Packaging Configuration ---> Root filesystem type 选择 INITRAMFS,使用 RAM 类型
    的根文件系统,这样就可以方便打包烧写到 QSPI Flash


  • Firmware Version Configuration 中可以修改 Host name 等信息

  • 保存配置

  • 退出并编译

  • 使用 petalinux-build 命令编译工程


  • 使用下面命令合成 BOOT,和前面的教程的差异就是多出 --kernel 选项,把内核也打包到
    BOOT.bin 文件里
petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga ./images/linux/platform.bit --u-boot --kernel --force

  • 生成 bin 文件

将 BOOT.bin 烧写进 QSPI Flash

未完待续…





相关文章
|
2天前
|
Linux Python
【专栏】Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
【4月更文挑战第28天】在Linux中查看目录文件数的方法包括:使用`ls`结合`wc -l`,如`ls <directory_path> | wc -l`;使用`find`命令,如`find <directory_path> -type f | wc -l`;使用`tree`命令,如`tree <directory_path>`(可能需额外安装);以及通过编程方式,例如Python代码实现。注意权限、效率和选择适用方法以提升操作效率。本文提供了详细步骤和示例,助你轻松掌握!
|
2天前
|
存储 数据挖掘 Linux
【专栏】教你如何快速在 Linux 中找到某个目录中最大的文件
【4月更文挑战第28天】在 Linux 中查找目录中最大文件的方法包括:使用 `du` 结合 `sort`,`find` 结合 `xargs` 和 `sort`,以及编写 Python 脚本。这些技巧适用于服务器管理、数据分析和文件清理等场景,能帮助用户快速定位大文件进行分析、清理或优化。注意文件权限、目录深度和文件系统类型可能影响结果,可结合其他命令增强功能。
|
2天前
|
Linux 开发工具 Windows
Linux基本操作——文件
Linux基本操作——文件
|
3天前
|
Linux Go 数据安全/隐私保护
Linux 中的文件属性解析
在 Linux 系统中,每个文件和目录有一组属性控制其操作和访问权限。了解这些属性对有效管理文件至关重要。文件属性包括:文件类型(如 `-` 表示普通文件,`d` 表示目录),权限(如 `rwx` 表示所有者权限,`r-x` 表示组和其他用户权限),所有者,组,硬链接数,文件大小和最后修改时间。通过 `chown` 和 `chmod` 命令可更改文件所有者、所属组及权限。此外,还有特殊权限(如 SUID、SGID)和 ACL(访问控制列表)提供更精细的访问控制。
|
5天前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
6天前
|
存储 缓存 Linux
【linux基础I/O(二)】文件系统讲解以及文件缓冲区的概念
【linux基础I/O(二)】文件系统讲解以及文件缓冲区的概念
|
7天前
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
12 1
|
7天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
12 0
|
12天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
20 0
|
13天前
|
Linux Shell 开发工具
Linux文件常用操作
Linux文件常用操作(几乎覆盖所有日常使用)
91 0