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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
这部分内容主要是关于TFTP服务器的搭建,特别单独拿出来讲解一下。- f6 Z6 a- q! w7 q
一、TFTP服务器的搭建与测试:% T, O2 u8 \% }# e8 y* E, }/ V
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server(服务器)支持,二是嵌入式目标系统的tftp-client(客户端)支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置
! U; m; z8 m6 @6 h* K实际上我们同样可以在windows上搭建TFTP服务器,之后的话我可能会对这部分内容作一些补充。但这里我主要讲解一下在Linux下的TFTP服务器搭建:+ H0 e7 Z6 Y3 I, |
1、搭建TFTP服务器我们需要三个东西:xinetd、tftp、tftpd,在保证联网的情况下安装它们。: W7 D" c' e; _4 n+ L% I+ c% u
sudo apt-get install xinetd
6 }' ^( Z  Q, V: {2 B( C# Gsudo apt-get install tftp5 F4 e4 L( n0 @* P
sudo apt-get install tftpd
. N. L( G, N1 H$ L( w, s1 g/ q2.建立TFTP的配置文件(这一步比较容易出错):6 l. S. f. v8 J; `9 Y4 `
vi /etc/xinetd.d/tftp
* F7 I9 ~8 }$ p# Q5 z& L! p输入以下代码:
+ b# ]. q8 H/ ^& aservice tftp
% b' n6 g% i7 q+ w  n. u+ I{
1 |( s8 B5 {- _( Xsocket_type         = dgram
  h$ m) J0 z/ t5 t, zprotocol                                 = udp9 G* ]& w! f4 t( L$ V7 p
wait                                         = yes
9 x- N4 L; H9 Z9 M; buser                                         = root9 L, Q' Y4 F: M+ `, _
server                 = /usr/sbin/in.tftpd) b' L& w6 X# O% H7 }
server_args         = -s /var/tftpboot/% j* m* ~' p! f
disable                 = no0 ~  f  K* S# s
per_source        = 11
' H: f7 P5 c) S9 E7 R+ p) v2 tcps                                          = 100 2
) {5 @4 b& t1 N2 E% S( ]+ rFlags                                 = IPv4
2 d/ {" y6 J& j& V}; ~/ U" n5 Q0 B2 t. g, X
代码格式如下图所示(用tab键隔开,不建议使用空格)$ g; e" l# l1 Q3 y/ I$ A  @: u/ T4 s
4 X  F8 |: M! i( c; n" m
其中的server_args是tftp 服务器的目录。TFTP 客户端就是从这个目录里面获取服务器上的文件的。上图使用的是/var/tftpboot,用户可以自己定义。
" I: d, m( e  B# q3、创建目录:mkdir  /var/tftpboot
1 i3 d& G. k) r/ S1 P% P, o) P; d4、改变权限:chmod  777  /var/tftpboot
! [! i- ?2 W1 i, J2 ?: {0 o( b5、启动xinetd服务:sudo  /etc/init.d/xinetd  restart1 j- c1 K+ ?$ i. `" d$ l! v( _" K1 f
6、测试TFTP服务器:% W4 B' ~1 D& H
输入命令:netstat -a | grep tftp
3 [  w% b" \$ O , _" b  M8 U& S6 a$ }5 L- p5 I
出现上图的情况说明配置成功2 b! v! r: d5 i0 X
我们可以本地测试一下tftp服务器:6 {% b! E3 N8 w3 ]3 L/ \6 A
①在tftpboot目录下创建一个文本文件,随便写点什么:* t+ n) a( I8 W1 u9 @' ?
例如vi /var/tftpboot/tftptest
' |9 c" x8 t9 {( c- q2 v输入“This is TFTPTEST!”,保存退出。8 ?6 z& M' p1 R# N+ G- N  K
②随便进入一个你常用的目录,作为下载文件的目的目录,输入tftp(也可以写成tftp localhost或者tftp 127.0.0.1),连接到本地的tftp服务器。
* G  }$ [$ n. @4 M5 h③get test下载文件到目的目录,q退出,ls就可以看到文件已经到了你的当前目录。cat test 就可以看到了文件内容。+ U3 d5 X6 Z" \/ W& w" i
7、TFTP操作:
# q* p! n8 u. G2 g3 z( L; S% A, w9 M注意tftp命令行下是不支持Linux命令的,它有自己独特的命令,使用?命令可以看到。/ ~. d5 N& C4 `) V6 \
        connect:连接到远程tftp服务器        ; [6 l+ q$ \% ?: `6 n" c) ]$ T' s
        mode:文件传输模式
; b4 Q9 ~2 Y9 ~  a        put:上传文件3 C3 O. e2 C& b- {7 o* a
        get:下载文件        ) m. C# s$ l& K) D8 {( w$ u
        quit:退出& p' F' w% {7 [6 L5 z% s: V2 d
        verbose:显示详细的处理信息9 t' g' C# \% F6 q3 h; [4 Y
        tarce:显示包路径
' v* e2 _: L) P; J/ y7 s- s        status:显示当前状态信息        " R3 I9 ?: S" X: M4 ?) i% C
        binary:二进制传输模式3 S; m& u3 k5 h1 N+ ?0 w5 S+ _! u
        ascii:ascii传送模式
+ \! d0 U& \. j5 s* C" Z5 u5 j2 w        rexmt:设置包传输的超时时间1 h+ s' N( X! B* f3 j% P
        timeout:设置重传的超时时间
8 J5 V: n& Y1 `% Y4 ?! [" S?:帮助信息: W2 l8 e$ o2 R) o0 Z6 ^
8.开发板连接tftp客户端+ U6 Z9 }# b* Y5 h- t
注:在连接开发板和ubuntu的tftp服务器之前,一定要首先保证开发板和ubuntu的ping通,
9 Z0 P+ a% h. R# e在保证ubuntu和开发板能够ping通的条件下,就可以使用tftp服务器了。
+ D8 b7 m9 K; x! @( h. |" \①把需要下载的文件拷贝到/var/tftpboot目录下,
! i5 |+ ~( x1 g! i$ C②开发板下载文件:
$ ~  ~. C  v# G' I! N' o  E命令格式tftp [option] ... host [port]& G3 U9 u& _& z2 h% c3 f
[option]:) I3 w* `, |# q* F3 [- E* W
-g表示下载文件(get)
6 ?4 v" B1 d6 K: E. ]+ U        -p表示上传文件(put); m0 z0 k- [+ Y4 A
        -l表示本地文件名(local file)( G' i: L' Q5 r/ @5 u9 c9 c$ Z% }
        -r表示远程主机的文件名(remote file)
5 K# |+ c- p  W. I# Y! S例如:tftp -g -l helloworld -r helloworld 192.168.1.109

该用户从未签到

2#
发表于 2016-6-30 10:44 | 只看该作者
看贴学心得,回贴是美德4 d; j' b( \' N* Q2 o. x

该用户从未签到

3#
发表于 2016-6-30 10:48 | 只看该作者
支持一下,很不错哦!
6 l/ _* b( X7 U8 Q/ C

该用户从未签到

4#
发表于 2016-6-30 11:12 | 只看该作者
感谢楼主分享!!!
3 s8 X  _5 j$ P( t1 x4 G( I

该用户从未签到

5#
发表于 2016-7-1 08:59 | 只看该作者
必须赞一个~
  p) a/ K  s; ?& }9 c

该用户从未签到

6#
发表于 2016-7-2 14:03 | 只看该作者
支持楼主!加油8 c* `( r$ h2 X/ e0 o' \! H

该用户从未签到

7#
发表于 2016-7-4 14:25 | 只看该作者
谢谢楼主,一步步来,学习中……
$ M0 o4 N9 Y4 M- M& \6 M7 z$ d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-9-7 08:00 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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