找回密码
 注册
关于网站域名变更的通知
查看: 422|回复: 6
打印 上一主题 下一主题

4412开发板学习笔记-TFTP服务器的搭建

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-6-29 13:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
这部分内容主要是关于TFTP服务器的搭建,特别单独拿出来讲解一下。6 m0 T) l! _/ W- J
一、TFTP服务器的搭建与测试:+ z" B' b% A1 S$ l+ \4 }4 |2 P8 Y
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server(服务器)支持,二是嵌入式目标系统的tftp-client(客户端)支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置- H8 u4 p8 E' `/ u# i/ U! n0 r
实际上我们同样可以在windows上搭建TFTP服务器,之后的话我可能会对这部分内容作一些补充。但这里我主要讲解一下在Linux下的TFTP服务器搭建:/ z6 A+ u4 B) \
1、搭建TFTP服务器我们需要三个东西:xinetd、tftp、tftpd,在保证联网的情况下安装它们。
. x1 W0 _5 D, p4 _% y, tsudo apt-get install xinetd7 K# ^, r: |$ _. g2 @7 l
sudo apt-get install tftp
5 s0 R& J2 e3 z% C; c2 E) qsudo apt-get install tftpd
8 ^: F) K0 C" E. c( r2.建立TFTP的配置文件(这一步比较容易出错):! o% R4 J3 ~+ C8 y" x
vi /etc/xinetd.d/tftp0 X% ?3 H+ e" j6 Y3 B
输入以下代码:
1 G; y' x# h1 D, Bservice tftp
1 x6 ^+ |6 C6 }. u9 _. I6 k{
9 _7 `+ O  D* D4 Dsocket_type         = dgram
0 O- U) R- ^( Oprotocol                                 = udp
, F+ }6 o6 {; vwait                                         = yes
) S' P. j9 t& w) ^& guser                                         = root; y! v1 Z& n4 }, S
server                 = /usr/sbin/in.tftpd; b5 K4 n: A; t
server_args         = -s /var/tftpboot/
6 A4 E( h% c# Z+ `* D7 F$ zdisable                 = no' Z2 s$ x1 m0 m, W/ m
per_source        = 11
, ?6 j! s4 R. }3 Y9 N7 @cps                                          = 100 2
9 b) d' l' u/ P! R8 i& d5 xFlags                                 = IPv4! @/ F) x+ }* R) }, R( s
}4 B6 W  u0 I# i/ D0 B/ X* O1 C
代码格式如下图所示(用tab键隔开,不建议使用空格)
/ W7 y  a- N* X7 y+ X" y( c" E % S, n- A- }: \3 d) `$ r: S
其中的server_args是tftp 服务器的目录。TFTP 客户端就是从这个目录里面获取服务器上的文件的。上图使用的是/var/tftpboot,用户可以自己定义。
: K! G5 y4 ~8 _( Z: w7 H5 H$ U! D9 Y3、创建目录:mkdir  /var/tftpboot) B, m6 G. c5 j* R, Q6 U+ n- C0 @
4、改变权限:chmod  777  /var/tftpboot/ S+ C4 N9 e6 |0 T1 s
5、启动xinetd服务:sudo  /etc/init.d/xinetd  restart
5 v4 H. R9 t0 s. n0 s3 S/ Z6、测试TFTP服务器:
) X; ]& G/ f/ v5 A8 f- ^" a' s. J5 _输入命令:netstat -a | grep tftp
& u* o# @& v% U# K
) {0 O) P6 y1 B6 v; U出现上图的情况说明配置成功
/ y0 e  z9 D7 |我们可以本地测试一下tftp服务器:3 N- K6 N" ^* }+ j; z2 x
①在tftpboot目录下创建一个文本文件,随便写点什么:
* T1 u/ E5 k+ X  B, ^# Q7 Y2 r. W例如vi /var/tftpboot/tftptest
( U; f2 n& X2 o输入“This is TFTPTEST!”,保存退出。2 R; M# s/ k# U. t6 M# U2 r! L
②随便进入一个你常用的目录,作为下载文件的目的目录,输入tftp(也可以写成tftp localhost或者tftp 127.0.0.1),连接到本地的tftp服务器。& I. \2 p9 }7 v# ?& }( D; e
③get test下载文件到目的目录,q退出,ls就可以看到文件已经到了你的当前目录。cat test 就可以看到了文件内容。
5 o. J8 |: w6 K8 _- s7、TFTP操作:
; v8 v8 [5 ]2 Z' h- N注意tftp命令行下是不支持Linux命令的,它有自己独特的命令,使用?命令可以看到。7 {; C% t- j1 q3 p/ |9 m: t
        connect:连接到远程tftp服务器        
, l3 P: e  G6 z- g        mode:文件传输模式
( q) a6 S6 m8 ^. f9 n, D& f        put:上传文件
4 d6 R9 Z  s! E6 R4 [& Q6 a- O        get:下载文件        
, j1 c# E3 v7 t        quit:退出
( {+ {5 y! Y  h  P% D& C  s. d* y        verbose:显示详细的处理信息! p! d4 U# U+ q7 c8 W5 C$ g
        tarce:显示包路径* K# P, \! O5 o% D6 d
        status:显示当前状态信息        
$ G/ A/ `! ^* P" ?( }. E3 ^        binary:二进制传输模式
; [" u, U9 @# n) p7 ]9 j        ascii:ascii传送模式( `; W! w5 N4 f& I# e3 k
        rexmt:设置包传输的超时时间
# H4 U2 [, V! u! J8 B+ L        timeout:设置重传的超时时间
" V1 w# k0 L2 Q! ~?:帮助信息
2 t0 z6 R/ {; ?' d& r8.开发板连接tftp客户端
& G: K+ i: f& g/ v! A* x% W# {注:在连接开发板和ubuntu的tftp服务器之前,一定要首先保证开发板和ubuntu的ping通,7 E' h8 {6 c* ?. H
在保证ubuntu和开发板能够ping通的条件下,就可以使用tftp服务器了。& q3 }- v4 Z! L  i
①把需要下载的文件拷贝到/var/tftpboot目录下,0 u9 A# ]! `: O0 p7 Z. u9 z
②开发板下载文件:
+ v* V, g" |- [2 _! w- f( G命令格式tftp [option] ... host [port]
$ l! b* O! s9 r6 S& r& D9 p5 C[option]:
- O( Y3 Y1 O3 u/ B-g表示下载文件(get)
9 m9 d3 @: D! t1 N4 L( Q        -p表示上传文件(put)
, _9 M; z% E  w4 e% W. c. h0 n% _* Q        -l表示本地文件名(local file). I, b; B( Z, y, o/ G2 S9 ~
        -r表示远程主机的文件名(remote file)
$ u0 T7 t% l0 r例如:tftp -g -l helloworld -r helloworld 192.168.1.109

该用户从未签到

2#
发表于 2016-6-30 10:44 | 只看该作者
看贴学心得,回贴是美德- L, @3 P; J- L. l+ ~

该用户从未签到

3#
发表于 2016-6-30 10:48 | 只看该作者
支持一下,很不错哦!
% n# T! L" q9 }8 D

该用户从未签到

4#
发表于 2016-6-30 11:12 | 只看该作者
感谢楼主分享!!!
: ^, l! e- w: s: {& p

该用户从未签到

5#
发表于 2016-7-1 08:59 | 只看该作者
必须赞一个~
! ~. G6 m8 \* P; N! ^! U3 T

该用户从未签到

6#
发表于 2016-7-2 14:03 | 只看该作者
支持楼主!加油3 u6 [2 r% f) U. P3 ?

该用户从未签到

7#
发表于 2016-7-4 14:25 | 只看该作者
谢谢楼主,一步步来,学习中……
8 }2 b& L& n+ o( W# k% U+ J8 r7 \# Z
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-23 23:09 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表