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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
这部分内容主要是关于TFTP服务器的搭建,特别单独拿出来讲解一下。
; |4 C5 t& r* @* K6 ?# R3 h一、TFTP服务器的搭建与测试:
5 H0 J! ]/ l% \, L$ j: ITFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server(服务器)支持,二是嵌入式目标系统的tftp-client(客户端)支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置8 q2 C- w/ p) X; {- y  T0 |2 T) ~
实际上我们同样可以在windows上搭建TFTP服务器,之后的话我可能会对这部分内容作一些补充。但这里我主要讲解一下在Linux下的TFTP服务器搭建:  p) }# Y1 }- K' ^
1、搭建TFTP服务器我们需要三个东西:xinetd、tftp、tftpd,在保证联网的情况下安装它们。1 ~1 P  O6 k/ `) s+ _3 \  [. l! v
sudo apt-get install xinetd: Y9 }0 w0 E: R5 H) H
sudo apt-get install tftp! d* j6 b2 I- Y. {0 z
sudo apt-get install tftpd
) q! _, v" X+ b. F; ^2.建立TFTP的配置文件(这一步比较容易出错):
! F; s$ f; T, O0 T/ Ovi /etc/xinetd.d/tftp- H1 o# U0 K* S7 U6 Q/ u+ x- c
输入以下代码:
( ^9 i/ q6 C5 f/ Bservice tftp
0 x: ]& A; H" Q5 {; O% O7 g3 s& F{
* X- G- ~9 v' A% {; ]0 u1 {socket_type         = dgram0 v7 P  i% f" p; f4 M: b
protocol                                 = udp
( q" i( [/ J; Y$ \; m0 d& Qwait                                         = yes
3 U1 u! @5 p% r, ]user                                         = root; r& \+ {4 h( k: w
server                 = /usr/sbin/in.tftpd
. l4 W, u' N* Z5 o6 Kserver_args         = -s /var/tftpboot/
3 N( T; j7 F& d' j3 ^disable                 = no
- x# t- T' C1 L  V1 K- dper_source        = 11. S# \% p: o% G; H# y$ L
cps                                          = 100 27 l1 O( F& x) x
Flags                                 = IPv4
8 a  q4 P" `- @1 B7 |  _}$ U: A: r# \  J/ s% I! N9 {
代码格式如下图所示(用tab键隔开,不建议使用空格)
, q! l7 M. U3 h* |2 L, I. J - s6 d7 p$ i- ^( }: U
其中的server_args是tftp 服务器的目录。TFTP 客户端就是从这个目录里面获取服务器上的文件的。上图使用的是/var/tftpboot,用户可以自己定义。
8 I2 L  x1 m5 d  b5 `3、创建目录:mkdir  /var/tftpboot
, g/ Q, g- _: ?3 v4、改变权限:chmod  777  /var/tftpboot: }1 z3 F% I9 C' N5 T1 Y
5、启动xinetd服务:sudo  /etc/init.d/xinetd  restart
0 {% M& j9 r/ P* z6、测试TFTP服务器:
- l& [: F9 f# M* K输入命令:netstat -a | grep tftp
# r4 Q. p4 l; Q3 r: @7 M' @
8 ^$ R! V* y$ B1 b/ j; }, p出现上图的情况说明配置成功0 w6 |- }( D8 f. W! W/ A
我们可以本地测试一下tftp服务器:
6 c7 k% o1 C6 ^2 I3 c' E/ E1 I9 I①在tftpboot目录下创建一个文本文件,随便写点什么:
; l" {# o# _  N- j+ E0 ^例如vi /var/tftpboot/tftptest' N# {) y' z  Y9 f! A! ]; U* p$ v
输入“This is TFTPTEST!”,保存退出。
, [5 c" G4 X* f( g②随便进入一个你常用的目录,作为下载文件的目的目录,输入tftp(也可以写成tftp localhost或者tftp 127.0.0.1),连接到本地的tftp服务器。/ v& A) ^; E, k+ F) ~2 R
③get test下载文件到目的目录,q退出,ls就可以看到文件已经到了你的当前目录。cat test 就可以看到了文件内容。
! N* |$ O) n. C8 o$ K6 ?6 A7、TFTP操作:" F. u# w" R( B  P) d& ^
注意tftp命令行下是不支持Linux命令的,它有自己独特的命令,使用?命令可以看到。
. ~7 S% o& b2 @, {5 R( V. @        connect:连接到远程tftp服务器        : H3 ], W8 n4 y& @1 L- H
        mode:文件传输模式
# a8 \9 J6 s$ H! I        put:上传文件8 X% r. `1 r" O( ~5 g# V
        get:下载文件        1 A: w* x8 ?$ |" @6 c2 F
        quit:退出
5 @8 ^) s3 X% S( Z7 ~        verbose:显示详细的处理信息8 w4 M6 _& b& ^7 C+ Y4 \
        tarce:显示包路径
& m) y8 j* _& w8 J! ?9 {: S        status:显示当前状态信息        + P; B/ `5 p2 C. v: Q* m# {; Z
        binary:二进制传输模式
* u, x; h: `2 O6 p$ x. O- T' p        ascii:ascii传送模式
  a! ?" L  r) s) A+ \+ a: q$ {        rexmt:设置包传输的超时时间
/ N. K% ~& u% y( E% s        timeout:设置重传的超时时间
1 q+ _, E3 z1 n, T?:帮助信息2 w1 _" X+ r" v( D$ B
8.开发板连接tftp客户端/ P/ w' {" Q8 m4 u& d  E) N
注:在连接开发板和ubuntu的tftp服务器之前,一定要首先保证开发板和ubuntu的ping通,
5 T2 |% i1 {7 ^2 F" ^1 u在保证ubuntu和开发板能够ping通的条件下,就可以使用tftp服务器了。0 m; {5 z! g" V  F- g
①把需要下载的文件拷贝到/var/tftpboot目录下,
- d5 A  K: s. C0 X/ u②开发板下载文件:. u6 ?( Q' }' i6 @
命令格式tftp [option] ... host [port]
# Z2 J& o3 l% y7 Z) F[option]:7 I& Q$ r2 i' C( ]! W! q* q
-g表示下载文件(get)$ s) C8 J4 b1 h3 O5 ]5 t# x! j+ s
        -p表示上传文件(put)
, C. _4 T. }( d6 h4 b2 P# u. F3 c        -l表示本地文件名(local file)# m+ L. V  ~- H3 F) y- _
        -r表示远程主机的文件名(remote file)4 j6 d9 C+ l7 f7 H2 S
例如:tftp -g -l helloworld -r helloworld 192.168.1.109

该用户从未签到

2#
发表于 2016-6-30 10:44 | 只看该作者
看贴学心得,回贴是美德
$ B' p4 v, k6 A9 I

该用户从未签到

3#
发表于 2016-6-30 10:48 | 只看该作者
支持一下,很不错哦!) G* R8 A$ P. P! L) _# H

该用户从未签到

4#
发表于 2016-6-30 11:12 | 只看该作者
感谢楼主分享!!!
0 v8 |' v# G. ?2 N$ H9 u3 A

该用户从未签到

5#
发表于 2016-7-1 08:59 | 只看该作者
必须赞一个~
  K" q  F8 J6 {7 N% a9 L

该用户从未签到

6#
发表于 2016-7-2 14:03 | 只看该作者
支持楼主!加油$ P7 m5 \) b7 @  f) d3 ]' d% g3 r

该用户从未签到

7#
发表于 2016-7-4 14:25 | 只看该作者
谢谢楼主,一步步来,学习中……
) Z: f$ E6 y" c' L# V
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-31 16:46 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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