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

相关推荐
TG_yunshuguoji11 小时前
亚马逊云渠道商:本地SSD缓存如何保障数据安全?
运维·服务器·安全·云计算·aws
mi200612 小时前
银河麒麟v10 sp1更改data目录挂载
linux·运维
tan180°12 小时前
Linux网络HTTP(下)(9)
linux·网络·http
半路_出家ren12 小时前
设计一个学生管理系统的数据库
linux·数据库·sql·mysql·网络安全·数据库管理员
着迷不白12 小时前
华为堡垒机
linux·运维·服务器·centos
飘忽不定的bug13 小时前
Atlas 200I AI加速模块-修改和打包文件系统
linux·ascend310b
妮妮喔妮13 小时前
linux:查看某个文件下开启的进程占用的是哪个端口?
linux·运维·服务器
Y unes13 小时前
《i.MX6ULL LED 驱动实战:内核模块开发与 GPIO 控制》
linux·c语言·驱动开发·vscode·ubuntu·嵌入式
FJW02081413 小时前
【Linux】输入输出管理
linux·运维·服务器
遇见火星14 小时前
Aiops探索:基于Ansible的Dify版本运维智能体落地思路
运维·服务器·ansible