Ubuntu中 petalinux 安装 移植linux --tftp/tftp-hpa服务的方法

Xilinx 文档
PetaLinux 指南:如何创建 PetaLinux 环境 (2019.1)
PetaLinux工具参考指南
PetaLinux安装详解(Xilinx , linux, zynq, zynqMP)
petalinux 2020.1安装教程

一、PetaLinux工具和库安装

PetaLinux 工具要求主机系统 /bin/sh 为"bash"。如果使用 Ubuntu 分布,而 /bin/sh 为"dash",使用 sudo dpkg-reconfigure dash命令更改默认的系统 shell /bin/sh更改(选择"否",更改完再用查看一下是否更改成功)。

查看目前是dash还是bash命令:ls -l /bin/sh

1、安装一些库和包

bash 复制代码
sudo apt-get install tofrodos gawk xvfb git libncurses5-dev tftpd zlib1g-dev zlib1g-dev:i386 libssl-dev flex bison chrpath socat autoconf libtool texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev screen pax
bash 复制代码
sudo apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386 libncurses5 libncurses5-dev libc6:i386 libstdc++6:i386 zlib1g:i386 libssl-dev tftpd tftp openbsd-inetd
bash 复制代码
sudo apt-get install texinfo gcc-multilib libsdl1.2-dev libglib2.0-dev zlib1g:i386
bash 复制代码
sudo dpkg --add-architecture i386
sudo apt-get update
sudo dpkg-reconfigure dash

Ubuntu中安装tftp/tftp-hpa服务 【install tftp】

检查tftp是否已经安装:netstat -a | grep tftp 若出现:

udp 0 0 *:tftp 则说明已经安装,否则没有

bash 复制代码
$ sudo apt-get install tftp-hpa tftpd-hpa

$ mkdir ~/tftpboot

$ chmod 777 ~/tftpboot/

$ sudo gedit /etc/default/tftpd-hpa

    # /etc/default/tftpd-hpa 
     
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/home/james/tftpboot"    //tftpboot绝对路径
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="--secure  -l -c -s"


$ service tftpd-hpa restart

安装完成!测试方法:

在/tftpboot 目录下随便放个文件abc

然后 运行tftp 192.168.133.3(ifconfig下NAT网卡) 进入tftp命令行

输入get abc 看看是不是能把文件下下来,如果可以就可以了,也可以put 文件上去

2、建立安装文件夹,修改权限

bash 复制代码
sudo -s
mkdir -p  petalinux
chown <your_user_name> petalinux
chgrp <your_user_name> petalinux
chgrp <your_user_name> petalinux
chown <your_user_name> petalinux
exit

然后将下载的.run文件移动到此文件夹(petalinux)

3、安装 petalinux

./petalinux-v2023.2-10121855-installer.run

随后使用回车查看协议,q退出查看,y同意进行安装

4、使用

启动环境配置

cd petalinux
source settings.sh

使用

调用 petalinux-create 命令有如下输出,说明安装成功了。

验证

echo $PETALINUX

出现petalinux路径,即安装成功

二、搭建工程

source settings.sh

1、 创建工程

petalinux-create -t project --template zynq --name xvc_linux

这样就创建了一个基于zynq芯片模板,name 名为 xvc_linux 的工程了。

template属性可以选择zynqMP , zynq and microblaze

cd xvc_linux // 切换到 petaLinux 项目目录

2、配置工程【导入硬件说明】========

经Vivado综合,实现后,在Vivado中导出硬件,输出PetaLinux所需要的硬件描述文件

输出的文件就在"/(工程文件夹)/(工程名).sdk"这个文件夹下,这个文件夹下的system_wrapper.hdf待用

把导出的硬件描述文件system_wrapper.hdf拷贝到虚拟机中的 xvc_linux 工程文件夹下,然后: (system.xsa)

petalinux-config --get-hw-description=/home/book/petalinux/xvc_linux

会进入一个配置界面,在里面我们可以配置一些系统参数,主要的配置包括:启动方式,启动存储器分区表,启动文件名称等等,本文暂不对其修改(默认是从SD卡中启动),然后等待其配置(时间较长)

弹出petalinux 工程配置窗口,保持默认后退出。

3、创建要在 PetaLinux 上运行的应用程序

创建并启用一个C模板应用程序,使用以下命令导入Linux构建

petalinux-create -t apps -n xvcServer --enable --template c

这将创建一个名为xvcServer的模板应用程序,它将替换模板,

应用程序的应用软件位于这里:sw/source/app/xvcServer.c 此处下载 xapp1251

在命令提示符中输入以下命令:

cp .../.../source/app/xvcServer.c ./components/apps/xvcServer/

4 、编译一个工程,构建系统镜像:

petalinux-build

5 、生成BOOT.bin文件

petalinux-package --boot --format BIN --fsbl ./images/linux/zynq_fsbl.elf --u-boot --force

6、

boot.bin文件位于PetaLinux项目目录下,而image.ub文件位于./images/linux录下。

将这两个文件复制到MicroSD卡中,然后插入MicroZed板。

相关推荐
PyHaVolask8 分钟前
Linux零基础入门:文件系统结构与文件管理命令详解
运维·文件管理·linux命令·linux文件系统·目录结构·fhs
天边一坨浮云21 分钟前
Ubuntu(PC)遇到的各种问题-EXT4-fs(vdb): VFS: Can‘t find ext4 filesystem
linux·ubuntu
企业对冲系统官28 分钟前
期货与期权一体化平台风险收益评估方法与模型实现
运维·服务器·开发语言·数据库·python·自动化
Guheyunyi33 分钟前
智慧消防管理平台的关键技术突破与创新
大数据·运维·人工智能·安全·音视频
大母猴啃编程40 分钟前
线程概念与控制
linux
YQ_011 小时前
【Linux】解决两个USB设备VID/PID/序列号全一样无法区分的问题 (udev物理端口绑定)
linux·运维·服务器
峥嵘life1 小时前
Android16 EDLA中GMS导入和更新
android·linux·学习
电棍2331 小时前
AUTODL服务器环境配置和下载数据概述
运维·深度学习·uv
haluhalu.1 小时前
深入理解Linux信号机制:中断、用户态与内核态
linux·运维·服务器
二哈喇子!2 小时前
Linux系统配置jdk
linux·运维·服务器·jdk