zoukankan      html  css  js  c++  java
  • 通过tftp 完成内核的下载

    网上关于tftp配置的文章多如牛毛,但是这么多的文章对于有些困扰人的细节并没有介绍到,这篇文章主要介绍我在配置tftp过程中遇到的问题,解决方法以及自己的思考,希望能够对大家有所帮助。

    windows下tftp的配置就不多说,用tftpd32软件就可以搞定,这个软件操作也很简单,一如既往的windows亲民的风格,我在使用过程中,也是一次成功,没有碰到什么问题。下来主要介绍一下linux的配置。

    具体的配置方法如下:

    *******************************************

    RedHat配置tftp服务

    Redhat Linux下tftp服务器配置其实很容易。现以RedHat 7.3为例说明。
    1. 如何启动tftp服务?1
    执行ntsysv命令,选中tftp服务,再执行service xinetd restart命令。tftp服务就启动了,容易吧。
    2. 如何下载文件?
    先分析一下tftp的配置文件。
    打开/etc/xinetd.d/tftp文件,如下所示:
    service tftp
    {
    disable = no
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot
    per_source = 11
    cps = 100 2
    }
    这就是tftp的配置文件,其中,server_args = -s /tftpboot是tftp服务器运行时的参数。-s /tftpboot表示服务器默认的目录是 /tftpboot,当你执行put a.txt时,文件会被放到服务器的/tftpboot/a.txt,省去你敲put a /tftpboot/的麻烦。你也可以加其它服务器运行参数到这,具体可以执行man tftpd命令查阅。
    要下载文件,执行如下命令:(下载文件的默认路径为/tftpboot)
    >tftp <tftp server address or name>
    >get <filename>
    3. 如何上传文件?
    上传文件时,需要先把服务器上的/tftpboot目录和这个目录下的文件变成可读可写权限,如下命令所示:
    >cd /
    >chmod 777 tftpboot
    >cd tftpboot
    >chmod 777 *
    (这里用777权限有些高,可以用666,不过无所谓)
    上传文件用put命令,但是默认情况下,只能上传远程tftp服务器已有的文件,例如,在tftp服务器上有/tftpboot/a.txt这个文件,你可以执行
    >put a.txt
    将本地的a.txt文件上传上去并覆盖服务器上的原文件。所以这个时候要先在服务器上建一个同名文件,如下命令所示:
    >cd /tftpboot
    >touch a.txt
    >chmod 666 *

    如果想上传原来目录中没有的文件,需要修改tftp服务器的配置文件并重起服务,如下操作所示:
    打开/etc/xinetd.d/tftp文件,在 server_args 增加-c参数,如下所示:
    service tftp
    {
    disable = no
    socket_type = dgram
    protocol = udp
    wait = yes
    user = root
    server = /usr/sbin/in.tftpd
    server_args = -s /tftpboot -c
    per_source = 11
    cps = 100 2
    }
    存盘退出。
    重起tftp服务,如下所示:
    >service xinetd restart
    可以了。现在就可以上传新文件了。

    此小段为图省事摘抄他人文章,原文地址

    http://hi.baidu.com/sun363587351/item/e9993149e646aee91281da52

    *************************************

    说说一些应该注意的问题

      a.虚拟机应该选择桥接的方式,这样linux可以看做成一台实际的计算机存在于网络当中,其ip即为开发板中的serverip。

      b.windows主机的ip不能同虚拟机linux中的ip重复,否则的话linux的ip可能有误。具体查看和修改ip的方法可以参考此文。

           c.要ping通,开发板和linux系统必须在一个子网里面。例如,一般的子网掩码为255.255.255.0,这时要保证开发板ip和serverip 的前三组数据必须是相同的,这样才能有ping通的前提。

         d.防火墙关掉,防火墙有可能会对网络有影响,关掉为妙。

         e.ping有时候并不一定管用,如果uboot不支持ICMP协议的话,是不能ping通的,但是这不影响tftp的使用,所以不要纠结在ping上面。我在实验的时候,就出现了开发板可以ping通主机,主机ping不同开发板的情况,还纠结了好长时间

         f.开发板和主机的连接方式有两种,一种是主机和开发板直接连接,需要注意的是这种连接一定要用交叉线。另外一种方法就是通过路由来进行连接。

  • 相关阅读:
    scp 利用 ssh 协议 复制文件
    linux (fedora 28) 制作启动U盘,启动盘
    nc 命令使用详解
    env :让系统决定你命令的位置
    tali -f 和 tail -F 之间的区别
    斯诺克台球比赛规则 (Snooker)
    中式台球 规则 ( ChinaBilliards )
    美式九球比赛规则 (Nine-ball)
    Tmux 使用教程 on Fedora 28
    python 3.6 的 venv 模块
  • 原文地址:https://www.cnblogs.com/daqiang/p/2952282.html
Copyright © 2011-2022 走看看