当前位置: 首页 > news >正文

【Linux】PetaLinux开发

使用Xilinx的PetaLinux工具编译用于Zynq7020的Linux.

部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。

 专栏目录:记录自己的嵌入式学习之路-CSDN博客


目录

1    一般开发流程

2    离线编译过程

3    系统根文件系统的配置:

4    常用Petalinux设置

5    各步操作可生成的文件

5.1    编译任意东西

5.2    编译bootloader

5.3    编译U-Boot

5.4    编译设备树

5.5    打包boot

6    设置Flash启动

7    错误解决

7.1    Bitbake Server错误

7.2    Bitbake Fetch错误

7.3    空间不足错误

7.4    启动时Kernel panic

7.5    启动时卡在等待root device附近

7.6    共享文件夹文件nobody权限的问题(VirtualBox相关)

7.7    编译到某步骤就卡住

7.8    Flash相关

7.8.1    vitis无法写入

7.8.2    Flash无法加载

7.8.3    无法加载内核


1    一般开发流程

        一般的设计流程如下:

        1.通过Vivado创建硬件平台,得到xsa文件;

        2.运行source <petalinux安装路径>/settings.sh,设置Petalinux运行环境

        3.通过petalinux-create -t project创建petalinux工程;

        4.使用petalinux-config --get-hw-description,将xsa文件导入到petalinux工程当中并配置petalinux工程;

        5.使用petalinux-config -c kernel配置Linux内核,默认情况下会在线下载文件编译,如下图。

        2023.1版本的PetaLinux的默认Linux内核为6.1.5,一般不要手动更改内核版本,不过这也比较困难。

        关于离线编译和修改内核,可以参考:使用Petalinux定制Linux系统 — ZYNQ 7000开发平台FPGA教程 1.0 文档https://ax7020-20231-v101.readthedocs.io/zh-cn/latest/7020_S4_RSTdocument_CN/05_%E4%BD%BF%E7%94%A8Petalinux%E5%AE%9A%E5%88%B6Linux%E7%B3%BB%E7%BB%9F_CN.html        6.使用petalinux-config-c rootfs配置Linux根文件系统,一般不需要修改;

        7.配置设备树文件;

        8.使用petalinux-build编译整个工程;

        编译过程也需要连接网络:

        9.使用petalinux-package --boot制作BOOT.BIN启动文件;

        10.制作SD启动卡,将BOOT.BIN和image.ub以及根文件系统部署到SD卡中;

        11.将SD卡插入开发板,并将开发板启动模式设置为从SD卡启动;

        12.开发板连接串口线并上电启动,串口上位机打印启动信息,登录进入Linux系统。


2    离线编译过程

        (1)到Xilinx官网下载arm sstate-cache和Downloads;

        (2)petalinux-config -> Yocto Settings -> 

                ① 取消Enable Network sstate feeds(可不取消,有时候还是得联网);

                ② 使能Enable BB NO NETWORK;

                ③ Local sstate feeds settings -> 改为arm sstate-cache解压后的路径;

                ④ Add pre-mirror url -> 改为file://<Downloads解压后的路径>;


3    系统根文件系统的配置:

        INITRD 类型的根文件系统每次重新启动 linux 系统都是全新的、未改动过的,也就是说启动系统后进行的所有修改掉电后就全部丢失了,再次重新启动还是之前未修改过的根文件系统,选择“EXT4”可以将根文件系统放在 SD 卡、eMMC 的 ext4 分区,这样启动系统后进行的所有修改掉电后就不会丢失了。

        petalinux-config --get-hw-description [xsa_dir]

        Image Packaging Configuration  --->  Root filesystem type

        

        Petalinux的EXT4模式的硬盘挂载情况:

        PetaLinux的INITRD模式下的硬盘挂载情况:


相关文章:

  • Python虚假新闻检测识别
  • 用定时器做微妙延时注意事项
  • 第N8周:使用Word2vec实现文本分类
  • cPanel 的 Let’s Encrypt™ 插件
  • 【AI论文】WebThinker:赋予大型推理模型深度研究能力
  • 走进AI的奇妙世界:探索历史、革命与未来机遇
  • DeepSeek实战--AI技术架构(持续更新)
  • 数字智慧方案6187丨智慧应急指挥平台体系建设方案(78页PPT)(文末有下载方式)
  • 单词规律(简单)
  • B站Michale_ee——ESP32_IDF SDK——FreeRTOS_4信号量、互斥量
  • 情境领导理论——AI与思维模型【89】
  • c/c++开发调试工具之gdb
  • AI 驱动的智能交通系统:从拥堵到流畅的未来出行
  • Allegro23.1新功能之如何使用文件预览功能操作指导
  • FormCalc 支持的编程语言和软件
  • 流水线相关计算【计算机组成与体系结构】
  • 数字智慧方案5873丨智慧交通设计方案(57页PPT)(文末有下载方式)
  • Linux_sudo命令的使用与机制
  • 力扣刷题 -- 206.反转链表
  • 第Y3周:yolov5s.yaml文件解读
  • 泽连斯基拒绝普京72小时停火提议,坚持应尽快实现30天停火
  • 视频公开课上线之后,北大成为多少人未曾谋面的母校?
  • 陈逸飞《黄河颂》人物造型与借鉴影像意义
  • 杭州挂牌临平区两宗住宅用地,起始总价约11.02亿元
  • 奈雪的茶叫停“能喝奶茶就不要喝水”宣传,当地市监称不要误导消费者
  • 医学统计专家童新元逝世,终年61岁