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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
这部分内容主要是关于TFTP服务器的搭建,特别单独拿出来讲解一下。, s, S8 D) F6 `  e5 Y
一、TFTP服务器的搭建与测试:
% ]+ ^! t; M! F+ k5 {! d: kTFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server(服务器)支持,二是嵌入式目标系统的tftp-client(客户端)支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置
% M3 G! O1 c9 t$ k6 A- k/ M实际上我们同样可以在windows上搭建TFTP服务器,之后的话我可能会对这部分内容作一些补充。但这里我主要讲解一下在Linux下的TFTP服务器搭建:# b5 A/ d& M" x: m% C4 {
1、搭建TFTP服务器我们需要三个东西:xinetd、tftp、tftpd,在保证联网的情况下安装它们。5 V, D# O& d1 B) C, M
sudo apt-get install xinetd- o; z& T" \. R7 m7 ^* n  ^3 d
sudo apt-get install tftp
/ Z& ~% M: W7 J8 q3 h& {1 Q6 Wsudo apt-get install tftpd1 z3 ?* a% e8 r* m$ H( j4 ~& p
2.建立TFTP的配置文件(这一步比较容易出错):
3 ?9 o2 y# b( R* m5 d. T. u3 I! Z1 _0 cvi /etc/xinetd.d/tftp6 o  R& Q7 d/ S9 M& m, c; B
输入以下代码:1 I6 s9 ^; ~/ D, ^$ v4 ?
service tftp% _5 `' C5 n& B: h0 g9 c" }
{
) o- K& o+ H+ H+ s& c5 G, |8 Wsocket_type         = dgram
3 T1 W& p+ c' y% C1 R4 {2 l  g$ Zprotocol                                 = udp8 f: C; r4 [- ?/ u1 a: n! C
wait                                         = yes
8 L- C" O9 ]; t4 g) }user                                         = root4 X9 m: ]9 c- O. h' V! x
server                 = /usr/sbin/in.tftpd
& E$ o2 H, D# u1 z& pserver_args         = -s /var/tftpboot/
' ]4 H1 q3 p/ y0 o& Gdisable                 = no/ L0 Y! t! W0 }1 I+ \
per_source        = 11* w, o" j% e' W' P5 m
cps                                          = 100 2
* Q) X6 b2 |) E' GFlags                                 = IPv4
, k; I6 q( a) [" ~' A" k}
5 T  P3 Q2 j" n& i% \9 j$ F3 W& J代码格式如下图所示(用tab键隔开,不建议使用空格)- `, Q" v# C) P, t, Y1 r4 g

3 s! w9 ~, s6 k5 V3 Q其中的server_args是tftp 服务器的目录。TFTP 客户端就是从这个目录里面获取服务器上的文件的。上图使用的是/var/tftpboot,用户可以自己定义。* S6 h, L( f4 r) g
3、创建目录:mkdir  /var/tftpboot/ w1 |9 ~3 S! ~9 D! i2 k
4、改变权限:chmod  777  /var/tftpboot0 A0 Z6 j# y0 |; y% e9 m
5、启动xinetd服务:sudo  /etc/init.d/xinetd  restart! [% `5 Z+ j! [0 F7 h# |
6、测试TFTP服务器:6 m$ X* L0 i0 q7 Y' r
输入命令:netstat -a | grep tftp3 t' X2 P6 u# c1 Y1 W" N7 N2 c7 e
- d' K# V8 L2 [; J! }3 {8 @
出现上图的情况说明配置成功
8 q8 C- ]  n  I: {  O我们可以本地测试一下tftp服务器:. z8 r( z0 E! S% m7 o2 V
①在tftpboot目录下创建一个文本文件,随便写点什么:
: n% y8 e# O, t6 D: q6 Y; r例如vi /var/tftpboot/tftptest: Z$ I) U9 x" ~5 f2 k
输入“This is TFTPTEST!”,保存退出。
9 k7 i- k7 f: z6 k) U②随便进入一个你常用的目录,作为下载文件的目的目录,输入tftp(也可以写成tftp localhost或者tftp 127.0.0.1),连接到本地的tftp服务器。
2 |, c5 s+ q, u6 t+ _! j  M③get test下载文件到目的目录,q退出,ls就可以看到文件已经到了你的当前目录。cat test 就可以看到了文件内容。5 e$ g0 e: U  o$ B4 N9 d
7、TFTP操作:& N4 ?& w, L1 k2 o! l, E  z* j; z
注意tftp命令行下是不支持Linux命令的,它有自己独特的命令,使用?命令可以看到。7 `& Z; X* Y8 l  `& T9 {2 g
        connect:连接到远程tftp服务器        
6 L- C3 X1 \& ?1 m        mode:文件传输模式
. R2 M. r+ c) E, t) z        put:上传文件
+ i) S1 `4 w' [# x0 R        get:下载文件        % p* W8 q3 A9 F. y& C. Y6 @
        quit:退出
, ?# ]7 y9 c$ D: D9 L        verbose:显示详细的处理信息
) u& s7 y* ]" s, c2 R% A        tarce:显示包路径! I9 n3 U2 w2 Z& I* h
        status:显示当前状态信息        
+ e$ D: _! P# e7 w7 k        binary:二进制传输模式
6 u# i+ f. ?7 i        ascii:ascii传送模式
$ b7 W! o, f2 e, n2 B1 @        rexmt:设置包传输的超时时间
; b9 s% B/ }, ?- w# z        timeout:设置重传的超时时间) e0 d# [1 M  h) q
?:帮助信息
& t$ H' z# }5 B2 u$ O! i! i0 u; E8.开发板连接tftp客户端
. _. p+ Y5 h: M5 g! ^注:在连接开发板和ubuntu的tftp服务器之前,一定要首先保证开发板和ubuntu的ping通,% ^  B4 ]" i- N) v$ k
在保证ubuntu和开发板能够ping通的条件下,就可以使用tftp服务器了。
0 V( z) I' I1 s) D) ~①把需要下载的文件拷贝到/var/tftpboot目录下,
7 ~/ b4 @' e# ?$ r# A* }; }1 R. u) B②开发板下载文件:
( R2 g8 X( U% q! y: _( X命令格式tftp [option] ... host [port]3 `' p- ]- j& Z3 P8 f0 Q5 b$ F* Q% ^4 ^
[option]:
5 C$ k* P, L# Z: ]- ]# A; Q% U-g表示下载文件(get)3 _* X- c1 H" t, C5 W! q  C; N( i
        -p表示上传文件(put)
6 ~% x- x8 g/ }* J! H# |        -l表示本地文件名(local file)  i% ?  v' D& O6 X5 `
        -r表示远程主机的文件名(remote file)
4 T, |* I- J" ^7 R  M5 R& }# j; `例如:tftp -g -l helloworld -r helloworld 192.168.1.109

该用户从未签到

2#
发表于 2016-6-30 10:44 | 只看该作者
看贴学心得,回贴是美德% w* p5 M) n) h; J5 E

该用户从未签到

3#
发表于 2016-6-30 10:48 | 只看该作者
支持一下,很不错哦!
- @( S5 d9 y" k  `, J& R

该用户从未签到

4#
发表于 2016-6-30 11:12 | 只看该作者
感谢楼主分享!!!
- r# Y" E( `& S6 C

该用户从未签到

5#
发表于 2016-7-1 08:59 | 只看该作者
必须赞一个~
2 Y% k6 V8 i( C# j( c2 ]

该用户从未签到

6#
发表于 2016-7-2 14:03 | 只看该作者
支持楼主!加油
) X2 r' Z1 b& A" `! f; K" v

该用户从未签到

7#
发表于 2016-7-4 14:25 | 只看该作者
谢谢楼主,一步步来,学习中……! i% Y6 y3 }, `6 t
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-23 20:45 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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