zoukankan      html  css  js  c++  java
  • 使用TFTP实现开发板与虚拟机文件传输

    一、背景

    编译的测试程序,ko等需要加载到zynq 7000的开发板上运行。

    组网:一台Windows笔记本(也叫主机),一个Ubuntu 16.04的虚拟机(简称虚拟机),一台zynq 7000的开发板。笔记本和开发板均接在路由器下,保证在同一网段,虚拟机和笔记本网络设置为桥接模式。使用时可能需要关闭Windows主机、Ubuntu虚拟机的防火墙功能。

    二、搭建TFTP服务器

    TFTP服务端运行在Ubuntu虚拟机上。

    1、启动服务

    在Ubuntu虚拟机上通过如下命令安装TFTP服务器

    sudo apt-get install tftpd-hpa

    一般安装之后服务会启动。可以通过命令

    netstat -a | grep tftp

    查看是否有在监听端口,若有,则说明服务已启动。若没有启动,可以通过

    service tftpd-hpa start
    // 或者
    service tftpd-hpa restart

    启动。

    2、配置

    默认情况下, TFTP服务器的配置文件位于/etc/default/tftpd-hpa

    # /etc/default/tftpd-hpa
    
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/var/lib/tftpboot"
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="--secure"

    修改TFTP默认服务器的路径 /var/lib/tftpboot 权限为777

    sudo chmod 777 /var/lib/tftpboot

    则可以在开发板上通过TFTP客户端访问该路径。

    三、客户端访问

    zynq 7000从SD卡启动官网镜像:https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842330/2017.4+Release

    通过ifconfig查看网络信息,保证和Ubuntu虚拟机在同一网段,且可以相互ping通。

    root@xilinx-zc702-2017_4:~# tftp -h
    tftp: invalid option -- 'h'
    BusyBox v1.24.1 (2017-12-14 10:33:52 MST) multi-call binary.
    
    Usage: tftp [OPTIONS] HOST [PORT]
    
    Transfer a file from/to tftp server
    
            -l FILE Local FILE
            -r FILE Remote FILE
            -g      Get file
            -p      Put file

    通过tftp命令访问服务器上的内容,例如

    tftp -g -r test.log 192.168.1.102

    其中192.168.1.102是Ubuntu虚拟机的IP,注意不是主机windows系统的IP,因为TFTP服务是运行在Ubuntu虚拟机上的。test.log是 /var/lib/tftpboot 目录下的文件,需要先创建好。路径 /var/lib/tftpboot 也可以修改,修改后需要重启TFTP服务。

  • 相关阅读:
    Sum Root to Leaf Numbers [LeetCode]
    Symmetric Tree [LeetCode]
    Combination Sum II [LeetCode]
    Maximal Rectangle [LeetCode]
    Trapping Rain Water [LeetCode]
    Combination Sum [LeetCode]
    05 如何“响铃”
    04 八进制
    03 关键字?保留字?预留字?
    020 函数之变量的作用域
  • 原文地址:https://www.cnblogs.com/luop/p/15220667.html
Copyright © 2011-2022 走看看