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板。

相关推荐
梓仁沐白2 小时前
ubuntu+windows双系统切换后蓝牙设备无法连接
windows·ubuntu
内核程序员kevin3 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ7 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream7 小时前
Linux的桌面
linux
xiaozhiwise8 小时前
Makefile 之 自动化变量
linux
Kkooe8 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒9 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
意疏10 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
虚拟网络工程师10 小时前
【网络系统管理】Centos7——配置主从mariadb服务器案例(下半部分)
运维·服务器·网络·数据库·mariadb