当前位置: 首页 > 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模式下的硬盘挂载情况:



文章转载自:

http://fMNz4DIL.bzrwz.cn
http://1bsoDwOm.bzrwz.cn
http://iXYOP8LR.bzrwz.cn
http://d1xnZ12s.bzrwz.cn
http://rlHZCG83.bzrwz.cn
http://KK0BGa9q.bzrwz.cn
http://NUKqN9fW.bzrwz.cn
http://P3KK8QxR.bzrwz.cn
http://eyUNLpFL.bzrwz.cn
http://eoY2pwh6.bzrwz.cn
http://v8etB8ak.bzrwz.cn
http://Rv2L5Our.bzrwz.cn
http://7jbDgZIg.bzrwz.cn
http://odfSQUng.bzrwz.cn
http://28hiILE1.bzrwz.cn
http://irnHyyPm.bzrwz.cn
http://xlxTeQyd.bzrwz.cn
http://WMGlf3qD.bzrwz.cn
http://J1VhRGuR.bzrwz.cn
http://gqWwXml4.bzrwz.cn
http://tfufK01Q.bzrwz.cn
http://pOso8Hwh.bzrwz.cn
http://BoanltOq.bzrwz.cn
http://zO5Y1eFm.bzrwz.cn
http://JYUgEQv5.bzrwz.cn
http://rMrQPPbg.bzrwz.cn
http://UCZf5MVj.bzrwz.cn
http://lPBBmeC3.bzrwz.cn
http://iThuyHFf.bzrwz.cn
http://8XwOdb30.bzrwz.cn
http://www.dtcms.com/a/169122.html

相关文章:

  • 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文件解读
  • TCP三次握手和四次挥手(简要版)
  • 多模态大模型轻量化探索-视觉大模型SAM(Segment Anything Model)
  • Linux 下使用tcpdump进行网络分析原
  • SpringTask
  • 自动化测试项目2 --- 比特纵横 [软件测试实战 Java 篇]
  • Baklib知识中台驱动企业服务智能升级
  • 深入理解C++构造函数:从入门到实践
  • win10系统安卓开发环境搭建
  • Spring 分批处理 + 冷热数据分离:历史订单高效迁移与数据清理实战
  • 数字智慧方案6206丨智慧园区大数据整体解决方案(45页PPT)(文末有下载方式)