1.2【开发环境搭建之二】:Ubuntu18.04搭建TFTP服务器

tftp 命令的作用和 nfs 命令一样,都是用于通过网络下载东西到 DRAM 中 。

一、 TFTP服务器搭建步骤

  1. 安装依赖库

    sudo apt-get install tftp-hpa tftpd-hpa
    sudo apt-get install xinetd
    
  2. Ubuntu中创建tftp服务器文件件

    mkdir /home/lsy/Tools/tftp
    chmod 777 /home/lsy/Tools/tftp
    
  3. 创建tftp文件,如果没有【/etc/xinetd.d】文件夹,则先创建该文件夹

    sudo touch /etc/xinetd.d/tftp
    
  4. 打开tftp文件

    sudo vim /etc/xinetd.d/tftp
    

    加入如下代码

    server tftp
    {
        socket_type = dgram
        protocol = udp 
        wait = yes 
        user = root
        server = /usr/sbin/in.tftpd
        server_args = -s /home/lsy/Tools/tftp
        disable = no
        per_source = 11
        cps = 100 2
        flags = IPv4
    }
    
  5. 启动tftp服务

    sudo service tftpd-hpa start
    
  6. 打开tftpd-hpa文件

    sudo vim /etc/default/tftpd-hpa
    
  7. 修改为如下内容

    # /etc/default/tftpd-hpa
    
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/home/lsy/Tools/tftp"
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="-l -c -s"
    
  8. 重启tftp服务器

    sudo service tftpd-hpa restart
    

    至此tftp服务器搭建完成。

    另外,如果开发板硬件环境已经能够ping通,且已经能够进入u-boot,则可按照下面步骤进行测试。

二、功能测试

  1. 拷贝zImage到tftp目录下

    cp zImage /home/lsy/Tools/tftp
    
  2. 修改权限

    chmod 777 /home/lsy/Tools/tftp/zImage
    
  3. 进入开发板u-boot界面,输入如下命令,下载zImage镜像

    tftp 80800000 zImage
    
  4. 若成功,则界面如下

    => ping 192.168.0.250
    Using FEC1 device
    host 192.168.0.250 is alive
    
    => tftp 80800000 zImage
    Using FEC1 device
    TFTP from server 192.168.0.250; our IP address is 192.168.0.100
    Filename 'zImage'.
    Load address: 0x80800000
    Loading: #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             #################################################################
             ########
             1.7 MiB/s
    done
    Bytes transferred = 6786368 (678d40 hex)
    

你可能感兴趣的:(linux驱动开发,tftp)