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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
这部分内容主要是关于TFTP服务器的搭建,特别单独拿出来讲解一下。- c* D! u  @( \
一、TFTP服务器的搭建与测试:9 H; w9 B- R* I9 t4 k5 r; q; G" ^
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server(服务器)支持,二是嵌入式目标系统的tftp-client(客户端)支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置
1 V( F% ]8 \4 w1 ^9 n9 R; {实际上我们同样可以在windows上搭建TFTP服务器,之后的话我可能会对这部分内容作一些补充。但这里我主要讲解一下在Linux下的TFTP服务器搭建:( W! W) Z; r9 v( G8 ~
1、搭建TFTP服务器我们需要三个东西:xinetd、tftp、tftpd,在保证联网的情况下安装它们。
) F" q3 j( D0 g; Y+ L( Qsudo apt-get install xinetd
. d$ r9 f6 g9 |; p% psudo apt-get install tftp
- r: y  i7 t# A2 \3 F6 p4 Lsudo apt-get install tftpd
7 p3 n' p( h( c( a# v2.建立TFTP的配置文件(这一步比较容易出错):. a" P  u$ s7 z  |
vi /etc/xinetd.d/tftp. S0 S5 \# K/ ^, d% _" H
输入以下代码:2 K$ S( ?' Y0 c! B- w
service tftp1 W) T+ |  M: m; q- t5 Q/ U
{
: `1 ~$ K* w6 o/ c6 g: \socket_type         = dgram9 C0 k& x0 b. k
protocol                                 = udp) w  z5 D. m) ^
wait                                         = yes6 R: h: w& G& n: C, h: {* l6 w
user                                         = root3 H& `% F* D5 C$ o
server                 = /usr/sbin/in.tftpd- f3 Q8 k3 j5 R3 p" ^9 q9 ^* f
server_args         = -s /var/tftpboot/
1 q* l: f. u/ `( N8 Q) zdisable                 = no  N9 ?2 V( m6 I1 E# |
per_source        = 11' f+ m" L6 s+ P1 ?( r* j0 o) @3 k
cps                                          = 100 2, u) u8 j: G( s  ~( E- g. r+ \1 O
Flags                                 = IPv4( |$ d8 X$ r: D' j
}
5 E- ^9 `+ n; }代码格式如下图所示(用tab键隔开,不建议使用空格)# X2 p$ J7 E# e0 c. ]1 q

) y  }1 S: Z+ n# x2 X9 v; v其中的server_args是tftp 服务器的目录。TFTP 客户端就是从这个目录里面获取服务器上的文件的。上图使用的是/var/tftpboot,用户可以自己定义。) [2 q: m2 D& [/ A) T4 ]
3、创建目录:mkdir  /var/tftpboot, J' ~+ N) J. ?& ^# o6 H: x9 j
4、改变权限:chmod  777  /var/tftpboot
; q' S6 _4 x" P# O, G2 n5、启动xinetd服务:sudo  /etc/init.d/xinetd  restart
% N- G! k# k2 e( [6、测试TFTP服务器:. s8 x$ d& d' J+ T. C; ^" U$ L
输入命令:netstat -a | grep tftp2 p+ J! C: C& K: R' D- E2 ?, V
% J3 Z2 L! X+ ?& G  p
出现上图的情况说明配置成功  o, L$ \) Y8 B. D7 U8 }
我们可以本地测试一下tftp服务器:- L. i' M2 p9 E
①在tftpboot目录下创建一个文本文件,随便写点什么:' u' ?% i  @( v/ `1 W0 \
例如vi /var/tftpboot/tftptest
- ^5 p; J9 n9 {9 D输入“This is TFTPTEST!”,保存退出。
; I* Y. N5 B0 K: U, S②随便进入一个你常用的目录,作为下载文件的目的目录,输入tftp(也可以写成tftp localhost或者tftp 127.0.0.1),连接到本地的tftp服务器。
! _& [. S+ _) H& ^" e③get test下载文件到目的目录,q退出,ls就可以看到文件已经到了你的当前目录。cat test 就可以看到了文件内容。
" a% h0 y) g/ W; u7、TFTP操作:
. v  U  ?, h3 ]注意tftp命令行下是不支持Linux命令的,它有自己独特的命令,使用?命令可以看到。
9 U/ q" @8 O: D% W0 g1 V        connect:连接到远程tftp服务器        
  }% f  h7 e9 K7 n        mode:文件传输模式
/ r; H/ I# S: c) M" i& Y8 I        put:上传文件- {) U4 U6 f; F1 F% E$ ^. K
        get:下载文件        
, ^4 _* I; w6 q1 k6 V2 C        quit:退出$ w$ S& B& B/ n( O
        verbose:显示详细的处理信息* I' U; K1 n" X5 I* m
        tarce:显示包路径2 m; O+ Y8 V8 @6 c; b4 c
        status:显示当前状态信息        
4 }5 a7 ]( Y+ J) I1 l( v        binary:二进制传输模式; `7 E9 E% G' }+ I8 n* j
        ascii:ascii传送模式% A. v6 s. i# j# f4 Y: F
        rexmt:设置包传输的超时时间
, r# ?4 x  y6 R) _* \" t/ j) B        timeout:设置重传的超时时间: o3 E, L# W0 R  }; n* B
?:帮助信息
) G* u: Z! h, ]: A8.开发板连接tftp客户端, a4 U* b$ r6 D* \
注:在连接开发板和ubuntu的tftp服务器之前,一定要首先保证开发板和ubuntu的ping通,2 I: v& e/ Q, B) Y( h
在保证ubuntu和开发板能够ping通的条件下,就可以使用tftp服务器了。, m. y: o7 ~  \) J/ o' r7 I
①把需要下载的文件拷贝到/var/tftpboot目录下,
  w$ ]  ]" b, r* J$ E②开发板下载文件:
3 R) ~7 M2 D7 o( ]6 ~命令格式tftp [option] ... host [port], E& l/ E4 q2 A+ ?0 d
[option]:
) ~6 r1 v8 `- W! z-g表示下载文件(get)( S, K: b% Y8 L3 r+ o$ g! V
        -p表示上传文件(put)1 L  v3 l. W& ], T: v
        -l表示本地文件名(local file). E! K) Y2 }$ K! t8 @
        -r表示远程主机的文件名(remote file)2 L% M/ e4 p3 l; d; [: D( H  b
例如:tftp -g -l helloworld -r helloworld 192.168.1.109

该用户从未签到

2#
发表于 2016-6-30 10:44 | 只看该作者
看贴学心得,回贴是美德
; Q( w+ w. \; ~# N

该用户从未签到

3#
发表于 2016-6-30 10:48 | 只看该作者
支持一下,很不错哦!0 H$ v4 @# \0 z( r

该用户从未签到

4#
发表于 2016-6-30 11:12 | 只看该作者
感谢楼主分享!!!' d! f% X9 t* i) c6 J

该用户从未签到

5#
发表于 2016-7-1 08:59 | 只看该作者
必须赞一个~
$ m# D6 [$ `8 [" `

该用户从未签到

6#
发表于 2016-7-2 14:03 | 只看该作者
支持楼主!加油
# X- \( }9 ~$ _& {0 S

该用户从未签到

7#
发表于 2016-7-4 14:25 | 只看该作者
谢谢楼主,一步步来,学习中……
* A3 z' A% H/ J; |
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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