Petalinux工程如何离线编译

       

目录

一.下载离线包

1.1 共享状态缓存包:sstate-cache

1.1.1 进入官网打开Petalinux工具网页

1.1.2 找到相应的Petalinux版本

1.1.3 根据平台下载

1.2 下载downloads源码包

1.3 open_components源码包

二.解压

2.1 sstate-cache

2.2 downloads源码包

2.3 解压open_components

三.Petalinux离线工程配置

3.1 u-boot和linux源码路径配置

3.2 downloads离线包路径配置

3.3 sstate-cache路径配置

3.4 禁止联网编译

四.编译


        我们常常出于各种原因,需要离线编译Petalinux工程。例如:办公电脑不允许联网,或者在线编译需要访问国外网站而又苦于不能翻墙,或者折腾了好一阵子终于可以顺利下载了,但又出现了各种编译错误,搜遍全网都没有找到解决方法......

        此时,你需要离线编译来拯救你临近崩溃边缘的心!

一.下载离线包

        离线编译需要三个基础包,都可以从xilinx的中国官网下载:

Xilinx中国官网

1.1 共享状态缓存包:sstate-cache

1.1.1 进入官网打开Petalinux工具网页

1.1.2 找到相应的Petalinux版本

1.1.3 根据平台下载

        若是64位ARM平台,则下载aarch64版本;若是32位ARM平台,则下载arm版本。

1.2 下载downloads源码包

        这是在线编译时会自动下载的源码包。我们要离线编译,所以,要提前下载。

        下载地址与sstate-cache在同一栏目下。这个包比较大,需耐心等待。

1.3 open_components源码包

        此源码包中包含了u-boot、linux、RootFS和arm-trusted-firmware等核心系统组件。

二.解压

        准备好离线包后,可以解压到任意目录。

        例如:

2.1 sstate-cache

        解压到如下目录:

/mnt/petalinux202101_offline/

        解压后,是一个sstate_arm_2021.1文件夹(此处下载的是202101版本)。

        则工程配置时,需要用到以下目录路径:

/mnt/petalinux202101_offline/arm

2.2 downloads源码包

        解压到如下目录:

/mnt/petalinux202101_offline/

        解压后,是一个downloads文件夹。

        则工程配置时,需要用到以下目录路径:

/mnt/petalinux202101_offline/downloads

2.3 解压open_components

        解压到如下目录:

mnt/petalinux202101_offline

        解压后,将得到一个petalinux-v2021.1-open_components文件夹(此处下载的是202101版本)。

        此文件夹下包含了以下组件:

        则工程配置时,需要用到以下目录路径:

/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/u-boot-plnx
/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/xlnx-5.10

三.Petalinux离线工程配置

        执行如下命令,进入Petalinux工程配置界面:

petalinux-config --get-hw-description=../xsa/

3.1 u-boot和linux源码路径配置

        在Linux Components Selection选项中,u-boot和linux-kernel均选择“ext-local-src”,然后在对应路径设置中填写u-boot和linux-kernel的本地路径:

/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/u-boot-plnx
/mnt/petalinux202101_offline/petalinux-v2021.1-open_components/components/xlnx-5.10

3.2 downloads离线包路径配置

        进入以下选项中:

 -> Yocto Settings-> Add pre-mirror url->  (press Enter)Clear default value

        填入如下路径:

file:///mnt/petalinux202101_offline/downloads

3.3 sstate-cache路径配置

        进入如下选项:

         -> Yocto Settings->Local sstate feeds settings->local sstate feeds url(press Enter)

        填入如下路径:

/mnt/petalinux202101_offline/sstate_arm_2021.1/arm

3.4 禁止联网编译

1.取消“Enable Network sstate feeds”选项。

2.选择“Enable BB NO NETWORK”选项。

四.编译

        至此,离线编译配置已大功告成,放心去编译吧,开始实现你的项目........

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87822.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87822.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

w446数字化农家乐管理平台的设计与实现

🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…

AWS WebRTC:通过shell分析viewer端日志文件

在并发过程中,每个viewer会产生一个对应的日志文件,日志文件名为: viewer_channel_index_20250626_030943_145.logviewer端日志比master端日志文件数量多,比例大概是5:1,有1个master就会有5个viewer,每个viewer对应一个日志文件。 我要统计的是从启动viewer到出第一帧视…

时间转换——借助时间模块time

两种时间戳类型 例如s11704879917000 1、13位的时间戳:单位(毫秒) (1)毫秒变成秒,1s1000ms,s1/1000(秒) (2)加载时间 times time.localtime(…

LabVIEW MathScript薄板热流模拟

热流模拟是热设计关键环节,传统工具精准但开发周期长,本 VI 利用 LabVIEW 优势,面向工程师快速验证需求,在初步方案迭代、教学演示等场景更具效率,为热分析提供轻量化替代路径,后续可结合专业工具&#xff…

为什么大语言模型训练和推理中越来越多地使用 bfloat16?

随着大语言模型(LLM)的参数规模从几十亿(B)飙升到千亿(T)级别,模型的训练与推理效率变得尤为关键。为了在保证精度的同时节省显存、加快运算,混合精度训练(Mixed Precisi…

暴力破解漏洞与命令执行漏洞

在当今的互联网世界中,网络安全威胁无处不在。对于Java后端开发者而言,了解常见的Web漏洞及其防护措施至关重要。本文将探讨两种常见的安全漏洞:暴力破解漏洞(Brute Force)和命令执行漏洞(Command Injectio…

HDFS Java API 开发指南:从基础操作到高级应用

HDFS (Hadoop Distributed File System) 作为大数据生态的核心存储系统,提供了分布式、高容错、高吞吐量的数据存储能力。通过 Java API 操作 HDFS 是开发大数据应用的基础技能。本文将基于你的笔记,详细解析 HDFS Java API 的使用方法,并提供…

区块链技术核心组件及应用架构的全面解析

区块链技术是一套融合密码学、分布式系统与经济激励的复合型技术体系,以下是其核心组件及应用架构的全面解析:一、区块链核心技术栈 1. 分布式账本技术(DLT) 核心原理:多节点共同维护不可篡改的数据链数据结构&#xf…

golang 协程 如何中断和恢复

Go语言通知协程退出(取消)的几种方式 - 知乎 GoLang之goroutine底层系列二(goroutine的创建、让出、恢复)_golang goroutine-CSDN博客 在 Go 语言中,协程(也称为 goroutine)是通过 go 关键字启动的轻量级线程。由于 goroutine 的调度是由 Go…

ARMv8 创建3级页表示例

最近在研究arm v8页表创建过程,顺带做了一个如下形式的页表, // level 1 table, 4 entries: // 0000 0000 - 3FFF FFFF, 1GB block, DDR // 4000 0000 - 7FFF FFFF, 1GB block, DDR // 8000 0000 - BFFF FFFF, 1GB block, DDR // C000 0000 - FFFF FFFF…

迁港战平 精神可胜国足

迁港战平可胜国足 江苏省城市足球联赛第6轮,宿迁队主场迎战连云港队。比赛中,宿迁队由张栋和高驰各入一球,连云港队则凭借穆家鑫与李团杰的进球连扳两城。最终双方以2比2握手言和。 第38分钟,张栋角球进攻中无人盯防推射破门&…

408第三季part2 - 计算机网络 - ip分布首部格式与分片

理解 好好看一下这个图 每行是4B,首部也不一定是20B,还有可选字段,可以变的更大 然后我们先看一下概念 然后这个生存时间每路过一个路由器就会扣1滴血 比如一开始是13,经过r1r2r3到B会变成10 但如果是2,经过第二个路…

详解String类不可变的底层原理

String类 String的基本特性 不可变性: String 对象一旦创建就不能被修改,所有看似修改的操作实际上都是创建新的 String 对象final类: String 类被声明为 final,不能被继承基于字符数组: 内部使用final char value[]存储字符数据(Java9以后改为byte[] …

GIT: 一个用于视觉与语言的生成式图像到文本转换 Transformer

摘要 在本文中,我们设计并训练了一个生成式图像到文本转换 Transformer——GIT,以统一视觉-语言任务,如图像/视频字幕生成和问答。虽然生成式模型在预训练和微调之间提供了一致的网络架构,但现有工作通常包含复杂的结构&#xff…

20250706-9-Docker快速入门(下)-Docker在线答疑_笔记

一、Kubernetes核心概念与集群搭建 1. 在线答疑  1)答疑Docker需要掌握到什么程度 学习目标:达到入门水平即可,重点掌握第一章Docker入门视频内容学习建议:预习时间约3-4小时,建议吸收视频内容的80%学…

Node.js-http模块

HTTP 协议 概念 HTTP(hypertext transport protocol)协议;中文叫超文本传输协议,是一种基于TCP/IP的应用层通信协议这个协议详细规定了 浏览器 和万维网 服务器 之间互相通信的规则。协议中主要规定了两个方面的内容 客户端:用来…

Java JDBC的初步了解

文章目录 基本流程注册驱动的两种方法DriverManagerDriverManager 的核心作用核心原理自动注册驱动的机制关键方法 示例代码: 连接Mysql数据库StatementPreparedStatement JDBC全称Java DataBase Connectivity。 定义: JDBC 是 Java 语言中用于连接和执行 SQL 操作的标准接口。…

[netty5: ChunkedInput ChunkedWriteHandler]-源码分析

ChunkedInput ChunkedInput<B> 是 Netty 中用于按块读取不定长数据流的接口&#xff0c;常配合 ChunkedWriteHandler 实现流式写入&#xff0c;支持如文件、流、HTTP 和 WebSocket 等多种数据源。 实现类简要说明ChunkedFile用于将常规文件按块传输&#xff08;使用传统…

QT 第十二讲 --- 控件篇 LineEdit,TextEdit与ComboBox

前言&#xff1a;欢迎进入 QT 控件世界的第十二讲&#xff01;在上一讲《QT 第十一讲 --- 控件篇 LCDnumber&#xff0c;ProgressBar与CalenderWidget》中&#xff0c;我们探索了用于信息展示和状态反馈的控件&#xff1a;精准的数字显示器 LCD Number、直观的进度指示器 Progr…

VSCode遇到的一些小毛病(自动保存、运行后光标不再处于编辑区)

1. 右键点击Run Code没有触发自动保存 1. 打开 VS Code 设置&#xff08;Ctrl ,&#xff09; 2. 搜索&#xff1a;code runner save 3. 勾选你需要的 2. 运行后光标仍然处于编辑区&#xff08;容易误输入&#xff09; 1. 打开 VS Code 设置&#xff08;Ctrl ,&#xff09; 2.…