虚拟机中安装petalinux2017.4的步骤记录

本文详细介绍PetaLinux 2017.4版本在虚拟机中的安装过程,包括环境搭建、依赖包安装及验证步骤,特别强调了在资源有限情况下,结合Windows与虚拟机的开发方式。

1.petalinux相关介绍

PetaLinux 是一种嵌入式 Linux 软件开发套件 (SDK),主要用于XILINX FPGA 基片上系统设计。

对于使用流程来说,大部分人可能还是比较喜欢Windows环境,而且因为本机安装的是Windows,而计算机硬件的资源又有限,所以在虚拟机中运行XILINX的所有开发工具不太方便。在参考了大部分开发环境搭建方式后,觉得Windows下使用Vivado生成板级描述文件,传到虚拟机中使用petalinux生成镜像等烧录文件,再使用Windows下的SDK这种开发方式是在资源有限的情况下比较容易被接受的。

Windows环境下自然什么都好说了,这篇文章主要是用于记录自己在安装2017.4版本petalinux到虚拟机中的过程,为什么是2017.4版本呢?因为项目需要。

而如果你使用的是2019.2版本的XILINX开发套件,开发流程会有所不同,在这里也顺便提一嘴,2019.2版本中,Vivado变成Vitis中的子项,Vitis取代了SDK成为统一开发平台,板级描述文件的后缀(也许还有组织格式罢)也从 *.dhf 变成了 *.xsa ,但是依旧需要petalinux生成需要的内核镜像等启动和烧写文件。

2.petalinux安装

安装准备包括安装文件和参考文件。

2.1安装包下载

安装文件的名称是 petalinux-v2017.4-final-installer.run ,官方网站可以下载,页面链接:

XILINX下载页-petalinux存档

为其中MD5值为9b406fa5cc732da52944b3ce6718e19d的7.86GB的单文件。

官网下载页

2.2参考手册下载

UG1144是非常实用的手册,该用户指南中介绍了petalinux的一切 官方让你知道的 。上图中的右侧,点击 Petalinux工具文档 项,在页面中找到 《UG1144 - PetaLinux 工具文档:参考指南 (中文版) (v2019.1)》 文档,下载之(当然你照着这篇文章安装的话可以不用参考此指南)。

可能你想问,我安装的是2017.4版本的petalinux,为什么这里要下载的是2019.1版本的呢?因为截止到发文,官网中只有这个版本的UG1144是中文的,读起来比较顺畅,而且与2017.4版本在大体描述上相差不大。

3.petalinux安装过程

3.1虚拟机环境搭建

注意,这个版本的petalinux推荐使用 Ubuntu16.04.6LTS 进行安装,因为其它版本的Ubuntu对它的支持可能不是很好,会出问题,典型的就是Ubuntu18.04中,安装后执行settings.sh后会出现错误(见下图)、以及使用petalinux-build命令编译的时候会出现“需要支持en_US.UTF8”的问题,而这些在Ubuntu16.04中是正常的。

Ubuntu18.04中出现的问题

搭建过程网上有的是说明,在此说一下硬盘空间分配的问题,我把我目前安装完之后的情况告诉你,在Ubuntu采用最小安装、移除无关组件、安装必要组件、安装vmware-tool、保存安装文件和安装完之后的文件的情况下,硬盘占用小于30GB。

3.2petalinux安装文件拷贝到虚拟机

为什么这里还要这么说一嘴呢?因为现在已经是0202年了,VMWare支持的文件夹共享非常方便,方便程度远超过第三方软件通过建立SSH、TFTP之类的进行传输。所以复制文件到虚拟机,尽管使用 文件夹共享 功能吧。

3.3安装依赖包

上面的《UG1144 - PetaLinux 工具文档:参考指南 (中文版) (v2019.1)》文档中对Ubuntu下依赖包的配置不完全适用于2017.4版本的petalinux,petalinux依赖包如下,直接复制粘贴运行就行了(其中有可能安装时会重复,但是无关紧要):

sudo apt install make net-tools libncurses-dev libncurses-dev zlib1g:i386 flex libssl-dev bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tftpd unzip texinfo zlib1g-dev gcc-multilib build-essential gzip pax screen gawk tofrodos xvfb python git libsdl1.2-dev libglib2.0-dev

3.4安装petalinux

首先要注意此程序不能在root权限下安装,比如运行前加“sudo”是不行的,它会提示并且运行不下去。

在运行时如果不指定安装的目录,会安装到安装文件所在目录下,而且还不会自动新建文件夹,如果安装到opt之类的目录,记得把目录权限改成rwxr-xr-x(755),不然等上十几分钟之后安装不了心情是很崩溃的。

./petalinux-v2017.4-final-installer.run /安装位置

安装时会先对安装包校验->解压文件->确认3个协议->(安装目录提示,如果没有指明目录的话)->完成安装。

4.petalinux安装验证

首先进入到安装目录下执行:

source settings.sh

而后在终端中输入 petalinux- 并按两次TAB键,如果出现提示,那么就是OK了。

如果这台虚拟机只用来开发petalinux,那么可以把source语句写入到.bashrc文件中,这样在每次启动终端的时候都会自动加载了。

这些命令是用来干嘛的呢?参考手册中13页中的说明如下:

手册截图13页-设计流程简介

所以还是要好好看手册呀(摊手)。

————2020-4-11 @燕卫博————

### 在 Zynq 平台上安装 Debian 系统的指南 在 Zynq 平台上安装 Debian 系统是一个复杂但可行的任务。以下是关于如何实现这一目标的关键步骤和注意事项。 #### 1. 软件栈搭建 为了在 Zynq 平台上运行 Linux 系统,需要搭建一个完整的软件栈,包括引导加载程序(如 U-Boot)、内核以及文件系统等组件[^1]。虽然 Petalinux 是 Xilinx 提供的用于简化此过程的工具,但它主要支持 Yocto 和其他嵌入式 Linux 发行版。因此,在使用 Debian 系统时,可能需要手动配置一些环境。 #### 2. 环境准备 在开始安装之前,确保以下环境已经准备好: - **开发工具**:使用 Vivado 或 SDK 创建硬件设计并生成 HDF 文件[^2]。 - **交叉编译器**:为 ARM 架构准备合适的交叉编译工具链,例如 `arm-linux-gnueabihf`。 - **虚拟机或主机环境**:推荐使用 Ubuntu 16.04 或更高版本作为开发环境。 - **目标板**:例如 ALINX AX7Z100 开发板(基于 Zynq-7000 系列)。 #### 3. 引导加载程序(U-Boot) U-Boot 是 Zynq 平台上的常见引导加载程序。可以通过以下步骤进行配置和编译: ```bash git clone https://github.com/Xilinx/u-boot-xlnx.git cd u-boot-xlnx make alinx_ax7_z100_defconfig make ``` 上述命令会生成一个适合 ALINX AX7Z100 开发板的 U-Boot 映像文件[^2]。 #### 4. 内核配置与编译 下载并配置适合 Zynq 的 Linux 内核源码: ```bash git clone https://github.com/Xilinx/linux-xlnx.git cd linux-xlnx git checkout xilinx-v2017.4 make ARCH=arm alinx_ax7_z100_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- ``` 编译完成后,将生成的 `zImage` 和设备树文件(DTB)复制到目标板的启动分区中[^2]。 #### 5. 安装 Debian 文件系统 可以从官方 Debian 镜像下载适合 ARM 架构的文件系统,并将其写入 SD 卡或其他存储介质。具体步骤如下: - 下载 Debian 镜像文件(例如 `debian-9.0-armhf-netinst.iso`)。 - 使用工具如 `dd` 将镜像写入 SD 卡: ```bash sudo dd if=debian-9.0-armhf-netinst.iso of=/dev/sdX bs=4M && sync ``` 注意替换 `/dev/sdX` 为目标 SD 卡的实际路径。 #### 6. 配置启动参数 在 U-Boot 中设置正确的启动参数以加载 Debian 系统。例如: ```bash setenv bootargs "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk" boot ``` #### 7. 应用程序开机自启动 如果需要在 Debian 系统中实现应用程序的开机自启动,可以参考以下方法: - 编辑 `/etc/rc.local` 文件,添加需要启动的应用程序命令。 - 或者使用 systemd 服务配置文件,创建一个新的服务单元[^3]。 --- ### 注意事项 - 不同版本的 Debian 和 Zynq 硬件可能存在兼容性问题,建议选择经过验证的组合。 - 如果遇到路径或文件结构差异的问题,可能需要手动调整配置文件或脚本[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值