使用Petalinux2022搭建ZYNQ系统镜像问题记录
背景:
使用Petalinux构建linux系统,虽然便利,但是对于驱动开发不够灵活,且将rootfs与内核打包在一起,导致启动速度慢,因此:
将FPGA bit文件从BOOT.BIN分开
image.ub文件分开为zImage和设备树
将rootfs放在EXT4分区
这样SD卡内容如下
boot分区(fat分区):BOOT.BIN(FSBL + u-boot)、system.dtb、boot.scr、zImage、system.bit及APP
rootfs(ext4分区):rootfs(驱动挂载在根文件系统目录下)
流程
创建Petalinux工程
sptl
petalinux-create -t project --template zynq -n MY_ZYNQ_PRJ
cd MY_ZYNQ_PRJ
petalinux-config --get-hw-description /<xsa location>注意:
petalinux-config需要配置 Image Packaging Configuration --> Root filesystem type 为EXT4,即从EXT4分区挂载根文件系统
打包BOOT.BIN
petalinux-build -c bootloader
petalinux-build -c u-boot
petalinux-package --boot --fsbl --u-boot --force
注意:对于Petalinux 21版本及以后版本:必须使用petalinux-package --boot --fsbl --u-boot --force命令构建BOOT.BIN,而不能加上--dtb no选项
原因如下:
2.2 生成boot.scr
petalinux-build //
修改boot.scr,详细见《正点原子领航者ZYNQ之嵌入式Linux开发指南》
主要是从image.ub改为zImage启动内核、添加system.bit启动
注意:编译boot.scr文件,需要使用u-boot-tools工具,使用
sudo apt install u-boot-tools安装
2.3 编译内核
我这里使用的linux内核版本为v5.15_2022,
具体流程同《正点原子领航者ZYNQ之嵌入式Linux开发指南》,
2.4 编译根文件系统
petalinux-config -c rootfs
petalinux-build -c rootfs
sudo tar -xzf rootfs.tar.gz -C /media/rootfs //将根文件系统压缩包解压至SD卡 ext4分区
2.5 启动开发板
将文件拷贝只SD卡:
boot分区(fat分区):BOOT.BIN(FSBL + u-boot)、system.dtb、boot.scr、zImage、system.bit及APP
rootfs(ext4分区):rootfs(驱动挂载在根文件系统目录下)
启动开发板,进入系统
驱动开发遇到的问题
- 驱动编译,报错:<linux/ide.h> :no such file
是因为我采用linux5.15版本内核编译,在5.14版本后,删除了<ide.h>,可以使用libata相关库替代
改为<linux/libata.h>就不报错了
使用Petalinux2022搭建ZYNQ系统镜像问题记录的更多相关文章
- ZYNQ的Linux Linaro系统镜像制作SD卡启动
ZYNQ的Linux Linaro系统镜像制作SD卡启动 0. 概述 ZYNQ生成uboot的时候和正常的ARM设备不太一样,ZYNQ属于二次辅助启动uboot然后由uboot启动内核,大概意思就是 ...
- 初涉定制linux系统之——自动化安装Centos系统镜像制作
最近碰到个需求:要在内网环境安装centos6.5系统并搭建服务,但由于自动部署脚本里安装依赖包使用的是yum安装,而服务器无法连接外网,实施人员也不会本地yum源搭建O__O "….. 本 ...
- 实战 Prometheus 搭建监控系统
实战 Prometheus 搭建监控系统 Prometheus 是一款基于时序数据库的开源监控告警系统,说起 Prometheus 则不得不提 SoundCloud,这是一个在线音乐分享的平台,类似于 ...
- 按照Enterprise Integration Pattern搭建服务系统
在前一篇文章中,我们已经对Enterprise Integration Pattern中所包含的各个组成进行了简单地介绍.限于篇幅(20页Word以内),我并没有深入地讨论各个组成.但是如果要真正地按 ...
- ELK+FileBeat+Log4Net搭建日志系统
ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...
- 搭建本地Ubuntu 镜像服务器
一.需求分析 最近公司软件Team 有个需求是这样的:能不能在局域网搭建一个Ubuntu 镜像服务器, 这样作的好处是可以节省Ubuntu某些常用工具的安装时间. 二.部署过程 2.1 测试环境 目前 ...
- 如何使用win7自带的备份还原以及创建系统镜像------傻瓜式教程
对于经常鼓捣电脑的童鞋来说,装系统是一件极其平常的事情,不过系统装多了之后,我们会感到比较烦躁,因为每一次装系统意味着驱动的重新安装,程序的重新安装,每次这么鼓捣几次,半天时间就花在这上面了,效率是在 ...
- 第三篇——第二部分——第二文 计划搭建SQL Server镜像
原文:第三篇--第二部分--第二文 计划搭建SQL Server镜像 本文紧跟上一章:SQL Server镜像简介 本文出处:http://blog.csdn.net/dba_huangzj/arti ...
- 关于IP核中中断信号的使用---以zynq系统为例
关于IP核中中断信号的使用---以zynq系统为例 1.使能设备的中断输出信号 2.使能处理器的中断接收信号 3.连接IP核到处理器之间的中断 此处只是硬件的搭建,软件系统的编写需要进一步研究. 搭建 ...
- 搭建Harbor私有镜像仓库--v1.5.1
搭建Harbor私有镜像仓库--v1.5.1 1.介绍 Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境 ...
随机推荐
- STM32真的是很落后吗?
STM32真的是很落后吗? 作为一名嵌入式开发老兵,我不止一次听到有人说"STM32已经过时了",尤其是那些刚入门或者看了几篇文章的新手.每当听到这样的言论,我都忍不住想笑,但又有 ...
- 异步编程与Tortoise-ORM框架
title: 异步编程与Tortoise-ORM框架 date: 2025/04/19 00:13:05 updated: 2025/04/19 00:13:05 author: cmdragon e ...
- DP刷题总结-2
同步于Luogu blog T1 AT_joisc2007_buildi ビルの飾り付け (Building) 简化题意 最长上升子序列模板 分析 \(O(n^2)\)做法 考虑DP 定义状态:\(d ...
- 代码随想录第十一天 | Leecode 150. 逆波兰表达式求值、239. 滑动窗口最大值、347. 前k个高频词
Leecode 150. 逆波兰表达式求值 题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/description ...
- 参考用例之“本地Excel导入系统测试方案”
本地Excel导入系统测试方案 Excel 代码 @Test public void importperson() throws FileNotFoundException { FileInputSt ...
- 神经网络-反向传播BP算法推导
还是用前向算法的图, 然后仔细一看分类输出, 发现好像错了, 这该如何去反向修改权值呢? 因其是网络结构, 改变一点, 必然会引起一连串的改动, 这个过程, 如何来描述呢? 数学推导 声明变量 首先, ...
- 如何用IDEA 生成JavaDoc新版
用IDEA生成JavaDoc 左上角四横杠点击,唤出工具栏(快捷键 alt+\) 左键单击工具选项 下拉框选 生成Javadoc 在弹出框选好参数立刻导出啦 1.JavaDoc 作用域: 选要导出的文 ...
- 市盈率指标EP在A股市场的分析
因子经济金融特性 EP因子即市盈率因子,常被投资者使用的几个估值因子之一.一般使用PE,即Price to Earning, 维基百科上的解释:市盈率指每股市价除以每股盈利(Earning Per S ...
- 异步之舞:FastAPI与MongoDB的极致性能优化之旅
title: 异步之舞:FastAPI与MongoDB的极致性能优化之旅 date: 2025/05/23 21:55:11 updated: 2025/05/23 21:55:11 author: ...
- 【公众号搬运】React-Native开发鸿蒙NEXT
.markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...