Ubuntu下Petalinux安装流程与常见问题解决

news2024/9/21 12:27:29

一. 简介

由于近期需要对ZYNQ ARM端做Linux开发测试,需要用到Petalinux工具进行定制,所以本文对Petalinux安装过程进行简要总结,并对安装过程中遇到的一些问题进行解释并解决。
Petalinux是Xilinx公司开发的嵌入式Linux定制软件,通过与Vivado协同工作从而简化Linux系统的开发工作。开发人员可以通过Petalinux定制u-boot、Linux内核和Linux应用,并且可以通过网络或JTAG在全系统仿真器或物理硬件上添加新的内核、器件驱动程序、应用和库,以及启动并测试软件协议栈,完成从系统启动到执行的所有操作。
Xilinx官网提供了Petalinux的下载地址Petalinux Download和安装指南Petalinux Reference Guide,具体安装过程可以参考安装指南。

二. Petalinux安装过程

  1. 官网下载Petalinux套件安装包petalinux-v<版本号>-final-installer.run,以2017.4为例,这里将安装包放在Download目录下:

在这里插入图片描述

  1. 为安装包添加可执行权限:
	sudo chmod +x petalinux-v2017.4-final-installer.run

在这里插入图片描述

  1. 安装相应的依赖包,否则在安装过程中将会提示缺相关依赖,具体依赖包可在参考指南中查找到:

请添加图片描述

Ubuntu系统:

sudo apt-get install -y tofrodos gawk xvfb git make net-tools libncurses5-dev tftpd \
zlib1g-dev zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath \
socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential \
screen pax gzip

Redhat/CentOS系统

sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch diffutils \
diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat perl-Data-Dumper \
perl-Text-ParseWords perl-Thread-Queue python34-pip xz which SDL-devel xterm autoconf \
libtool zlib-devel automake glib2-devel zlib ncurses-devel openssl-devel dos2unix flex \
bison glibc.i686 screen pax glibc-devel.i686 compat-libstdc+-33.i686 libstdc+.i686

等待安装完成:

请添加图片描述

  1. 安装python和tftp server,否则会影响安装,具体影响将在第三部分进行详细介绍:
	sudo apt-get install -y python tftpd-hpa

在这里插入图片描述

  1. 创建Petalinux安装目录,本文创建在/opt/目录下:
	sudo mkdir -p /opt/petalinux/2017.4/

在这里插入图片描述

  1. 为安装路径变更权限所有者,opt目录在root下,将安装目录与用户名关联:
	sudo chown carson /opt/petalinux/2017.4/

在这里插入图片描述

  1. 在安装包所在位置运行安装命令,在非管理员模式下完成Petalinux的安装:
	./petalinux-v2017.4-final-installer.run /opt/petalinux/2017.4/

在这里插入图片描述

  1. 安装过程中会弹出一系列license协议许可界面,按要求Enter进入界面,q退出协议,y同意协议内容:

Enter阅读协议:

在这里插入图片描述

‘q’键退出协议:

在这里插入图片描述

‘y’同意协议内容:

在这里插入图片描述

‘q’键退出协议:

在这里插入图片描述

‘y’同意协议内容:

在这里插入图片描述

‘q’键退出协议:

在这里插入图片描述

‘y’同意协议内容,等待安装完成:

在这里插入图片描述

三. 安装常见问题与解决方法

1. 安装过程报错 “ERROR: You are PetaLinux installation guide - required tools and libraries package section for detailed information”

在这里插入图片描述

问题原因: 依赖包未完全安装,缺少相关的依赖包,例如这里缺少python库:

解决方法: 按照提示安装相应的安装包:

	sudo apt-get install -y python

2. 安装过程警告 “WARNING: No tftp server found - please refer to “PetaLinux SDK Installation Guide” for its impact and solution”

在这里插入图片描述

问题原因: 没有安装tftp server,tftp提供比JTAG更快的boot启动,官方文档解释如下:

在这里插入图片描述

解决方法: 安装tftp server并提供相应的读写权限:

	sudo apt-get install tftpd-hpa
	sudo chmod a+w /var/lib/tftpboot/	

在这里插入图片描述

3. 安装过程报错 “ERROR: You have tools don’t meet the version requirements: -Detected python version is less than the expected 2.7.3”

在这里插入图片描述

问题原因: python版本过低或安装成python3,由于python3更新内容较多,这里采用的仍然是python2.7(python2.7.3以上版本)

解决方法: 若python版本为python3,安装python2.7.17并设置为默认:

	##查看python版本
	python --version

	##安装python2.7
	sudo apt-get install -y python

	##更改python软链接为python2.7
	cd /usr/bin						#进入python所在目录
	sudo rm python					#将原有python文件删除
	sudo ln -s python2.7 python		#将python链接到python2.7

若问题仍未解决,则需要更改/var/lib/dpkg下的status文件:

	cd /var/lib/dpkg				#进入/var/lib/dpkg目录
	sudo vi status					#用vim修改status文件,若未安装vim需提前安装

搜索到python package部分并在之前添加如下内容(vi/vim搜索编辑方法):

Package: python
Status: install ok installed 
Maintainer: Fake Entry <fake@example.com>
Architecture: all
Version: 2.7.17
Description: fake package for petalinux

在这里插入图片描述

保存退出后再次运行即可成功完成安装。

4. 运行过程报错 “libncursesw.so.5: cannot open shared object file: No such file or directory”

问题原因: 缺少libncursesw.so.5文件,在/lib/x86_64-linux-gnu和/lib32下无法找到libncursesw.so.5

在这里插入图片描述

在这里插入图片描述

解决方法: 搜索libnursesw.so.5,查找是否存在该文件:

	sudo apt install apt-file
	sudo apt-file update
	sudo apt-file find libncursesw.so.5

若无法找到该文件,则需重新安装libncursesw库:

	sudo apt-get install libncursesw5-dev 

若安装后任然无法找到相关文件,可以将libncurses.so.5与libncursesw.so.5做软链接,进行简单的测试:

	sudo ln -s libncurses.so.5 libncursesw.so.5

尽管这样程序可能可以运行,但需要注意的是二者并不等价:
ncursesw在ncurses的基础上增加对支持utf8字符集的支持,即可支持中文,因此如果软件中存在中文的话,在后续的运行过程中可能还会报错utf8不支持。

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

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

相关文章

「C#」异步编程玩法笔记-async、await

C#5.0的时候引入了async和await两个修饰符&#xff0c;成为异步编程的核心关键字。 async 是修饰符&#xff0c;表明方法含有异步操作&#xff0c;但并不是说整个方法是异步的。async修饰的方法会先同步执行到第一处await的地方而后开始异步。 await可以理解为一异步特有的“re…

使用Python制作内马尔的胜利之舞代码版

不知道大家最近有没有被球星内马尔所吸引&#xff0c;反正我是对他的胜利之舞上瘾了。今天&#xff0c;我以程序猿的视角将他的胜利之舞做成代码版的视频。话不多说&#xff0c;先看看最终效果图&#xff1a; 哈哈哈哈&#xff0c;是不是看着还不错的样子。 之前我做过类似的教…

小程序游戏 vs h5游戏,技术优势分别有哪些

从“跳一跳”到“羊了个羊”微信小游戏上线4年时间&#xff0c;除了涌现出不少火爆全网的小游戏之外&#xff0c;也有类似于“动物餐厅”、“口袋奇兵”等游戏得以在此孵化繁荣&#xff0c;凭借着微信强大的社交属性小游戏成为游戏厂商在桌面端、App 端、H5 端之外争夺的另一个…

微软宣布 S2C2F 已被 OpenSSF 采用

开源供应链安全对大多数 IT 领导者来说是个日益严峻的挑战&#xff0c;围绕确保开发人员在构建软件时如何使用和管理开源软件 (OSS) 依赖项的稳健策略至关重要。Microsoft 发布安全供应链消费框架 (S2C2F) 是一个以消费为中心的框架&#xff0c;它使用基于威胁的风险降低方法来…

linux下安装部署es-head插件

es通过程序代码调用es 各种api接口。 es-head查看与显示es状态信息&#xff0c;数据量&#xff0c;具体数据。 1、elasticsearch-head介绍 官方地址: https://github.com/mobz/elasticsearch-head elasticsearch-head 是一款用来管理Elasticsearch集群的第三方插件工具。 e…

用二元泊松模型预测2022年世界杯淘汰赛结果

用二元泊松模型预测2022年世界杯淘汰赛结果 网上有很多文章用双泊松&#xff08;Double Poisson&#xff09;模型来预测世界杯比赛结果。但是双泊松模型有一个严重的缺陷&#xff0c;那就是它假设比赛中两队的比分是条件独立的。而我们都知道&#xff0c;在对抗性比赛中&…

国产API管理神器Eolink也太强了吧

一、研发痛点 什么是API研发管理 API研发管理是包含了API开发管理、开发团队协作、自动化测试、网关以及监控等等API管理全生命周期的一系列管理过程。可以帮助公司实现开发运维一体化&#xff0c;提升开发速度&#xff0c;达到降本增效的目标。 前端痛点 针对前端开发在使…

Metabase学习教程:权限-2

使用集合权限 设置具有权限的集合&#xff0c;以帮助用户组织和共享与其相关的工作。 集合保持问题,仪表板&#xff0c;和模型有条理&#xff0c;容易找到。将集合视为存储我们工作的文件夹是很有帮助的。集合权限授予一群人访问&#xff1a; 查看或编辑保存在集合中的问题、…

激活企业数字化采购价值,智慧采购管理系统助力半导体行业提升采购协同效率

如今&#xff0c;随着国内经济不断发展以及国家对半导体行业的政策扶持&#xff0c;我国半导体行业发展迅速&#xff0c;半导体技术含量与日俱增的同时&#xff0c;也对我国半导体企业的管理效能与管理工具提出了更高的要求。在海外对国内半导体产业发展日益严格的当下&#xf…

Netty篇之如何优雅的关服

强制关服的危害 linux中关服如果我们使用 kill -9 pid号或者在windows中使用 taskkill /f /pid pid号来关服的话&#xff0c;相当于是突然断电的方式&#xff0c;会导致如下几种情况。 缓存中的数据丢失正在进行文件的写操作&#xff0c;没有更新完成&#xff0c;突然退出会…

技术分享 | Redis 集群架构解析

作者&#xff1a;贲绍华 爱可生研发中心工程师&#xff0c;负责项目的需求与维护工作。其他身份&#xff1a;柯基铲屎官。 本文来源&#xff1a;原创投稿 *爱可生开源社区出品&#xff0c;原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。 一、集群架构的一…

决策树算法中处理噪音点

目录 如何解决&#xff1f;——采用剪枝的方法。 预剪枝 后剪枝 如果训练集中存在噪音点&#xff0c;模型在学习的过程总会将噪音与标签的关系也学习进去&#xff0c;这样就会造成模型的过拟合化&#xff0c;也就是模型在训练集的分类效果很好&#xff0c;在未知数据上处理效…

python快速实现2048小游戏

《2048》是一款比较流行的数字游戏&#xff0c;最早于2014年3月20日发行。原版2048首先在GitHub上发布&#xff0c;原作者是Gabriele Cirulli&#xff0c;后被移植到各个平台。这款游戏是基于《1024》和《小3传奇》的玩法开发而成的新型数字游戏。 操作指南&#xff1a; 每次…

景区票务系统毕业设计,景区售票系统设计与实现,旅游售票系统毕业设计源码分析

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于java的景区景点预约购票系统&#xff0c;整体使用javaMySql的B/S架构&#xff0c;技术上采用了springboot框架&#xff1b;通过后台添加景区资讯、景点介绍&#xff0c;管理用户订单&#xff1b;用户通过…

Vue怎么通过JSX动态渲染组件

一、明确需求 有一组数组结构如下&#xff1a; const arr [ { tag: van-field }, // 输入框{ tag: van-cell }, // 弹出层{ tag: van-stepper } // 步进器 ] 想通过循环arr&#xff0c;拿到tag渲染对应的组件。 下面我们分析如何写才是最优。 二、进行分析 2.1 v-if走天…

JavaScript期末大作业:基于HTML+CSS+JavaScript黑色的bootstrap响应式企业博客介绍模板

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

JTable详细介绍

目录 一、基本表格 二、修改列宽并显示列的名称 三、使用AbstractTableModel抽象类存储数据 一、基本表格 显示一个Table需要两组数据 1. 一维数组&#xff1a; String[]columnNames 表示表格的标题 2. 二维数组&#xff1a; String[][] heros 表格中的内容 默认情况下&…

使用openssl工具生成CSR文件

使用OpenSSL工具生成CSR文件 登录服务器。 安装OpenSSL工具。 执行以下命令&#xff0c;生成CSR文件。 openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout [$Key_File] -out [$OpenSSL_CSR] 说明 -new&#xff1a;指定生成一个新的CSR文件。 -nodes&#xff1a;指定…

WindowsNT下的OpenGL

三、WindowsNT下的OpenGL 3.1、Windows NT下的OpenGL函数   如前面的章节所述&#xff0c;Windows NT下的OpenGL同样包含100多个库函数&#xff0c;这些函数都按一定的格式来命名&#xff0c;即每个函数都以gl开头。Windows NT下的OpenGL除了具有基本的OpenGL函数外&#xf…

威马汽车欲曲线上市:沈晖已提前持股并任职,销量垫底、员工降薪

12月5日&#xff0c;港交所上市公司Apollo出行&#xff08;HK:00860&#xff09;发布公告称&#xff0c;该公司拟收购一家从事智能电动车的公司&#xff0c;目标公司的业务涵盖一系列配备先进技术的智能电动车&#xff0c;目标客户为中国年轻且精通技术的用户&#xff08;特别是…