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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
这部分内容主要是关于TFTP服务器的搭建,特别单独拿出来讲解一下。' `; c5 c/ D7 H9 e' @6 e- X! Y& L
一、TFTP服务器的搭建与测试:
; @0 V. @' j# D9 z- bTFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server(服务器)支持,二是嵌入式目标系统的tftp-client(客户端)支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置
+ m( f; u+ H: O9 W8 E) p  @实际上我们同样可以在windows上搭建TFTP服务器,之后的话我可能会对这部分内容作一些补充。但这里我主要讲解一下在Linux下的TFTP服务器搭建:
+ L- V. p; a1 C1、搭建TFTP服务器我们需要三个东西:xinetd、tftp、tftpd,在保证联网的情况下安装它们。
5 u8 V7 R8 t1 T" b% G; m3 R& C4 a, Isudo apt-get install xinetd
8 a8 p  M4 S2 n5 N- [' J5 Lsudo apt-get install tftp. R6 C" E* l& }; \
sudo apt-get install tftpd
; a; d% b6 T8 c" G9 i2.建立TFTP的配置文件(这一步比较容易出错):
) p& p2 M( Y7 l1 v0 ~! t4 fvi /etc/xinetd.d/tftp
" R& E! ]( }$ P; J7 ^& U输入以下代码:
# n: m, R3 x1 p: \9 cservice tftp" z6 s$ X3 j2 X
{
. U: z. @; p6 L& K: a( s- Nsocket_type         = dgram  R$ s; F+ T% v1 F& `2 z9 h( [
protocol                                 = udp3 _/ y1 K4 a3 U
wait                                         = yes: x9 u  U' a7 R0 I% j
user                                         = root8 ^$ d( @- h2 g5 N9 u; _, O
server                 = /usr/sbin/in.tftpd/ A" m8 I1 l/ @5 i& f9 \
server_args         = -s /var/tftpboot/
" g- d& |* I! e! I# h# S2 mdisable                 = no
  c3 s3 n- e; o' _) @9 S. B" [- c; ?per_source        = 11
* r; ^' G# N; I5 L( ]( _9 ^cps                                          = 100 2
# F! Z0 N0 C4 r; f2 T" `) eFlags                                 = IPv4
8 V  j# }: u9 l7 Y' t}. B' a  }1 P' }# d+ l3 k6 o
代码格式如下图所示(用tab键隔开,不建议使用空格)4 y# F; B+ \2 ]5 x* O- s/ b$ K) _

7 {% E7 c+ G" P( x其中的server_args是tftp 服务器的目录。TFTP 客户端就是从这个目录里面获取服务器上的文件的。上图使用的是/var/tftpboot,用户可以自己定义。* d' E& V2 G' [) N
3、创建目录:mkdir  /var/tftpboot
' b$ _, u$ `: q! R1 Q& n4、改变权限:chmod  777  /var/tftpboot
! u( i& v5 R1 I- }5、启动xinetd服务:sudo  /etc/init.d/xinetd  restart
% a; L4 a8 Q' k9 }6、测试TFTP服务器:3 M! e$ M% I/ c$ X. k1 P3 B3 s
输入命令:netstat -a | grep tftp
" n- i* k" f  t/ x; l& k : v, _1 ]' n" J) @3 V! I
出现上图的情况说明配置成功
/ _* R- z" ~- d我们可以本地测试一下tftp服务器:
$ _: U0 F) ], t①在tftpboot目录下创建一个文本文件,随便写点什么:4 Y) A: u3 o  X
例如vi /var/tftpboot/tftptest
% ]  ]3 Q. e& Y- y% ~输入“This is TFTPTEST!”,保存退出。
1 n8 }" u6 l" J) k! I$ x5 d②随便进入一个你常用的目录,作为下载文件的目的目录,输入tftp(也可以写成tftp localhost或者tftp 127.0.0.1),连接到本地的tftp服务器。% y8 a7 c9 f+ ]8 C4 ^) l7 Y9 O
③get test下载文件到目的目录,q退出,ls就可以看到文件已经到了你的当前目录。cat test 就可以看到了文件内容。
- C( L' `) U$ {/ c% A) X& S7、TFTP操作:4 e" ?7 S! j  ^9 B" {) N6 m
注意tftp命令行下是不支持Linux命令的,它有自己独特的命令,使用?命令可以看到。
- r! s8 R9 M) H2 K" P* e        connect:连接到远程tftp服务器        
3 r$ A/ p% w4 p) N        mode:文件传输模式
3 k7 w/ U( o! L$ C( ]        put:上传文件
3 E3 v3 ^) v* L        get:下载文件        - m5 |% X2 R3 w" E3 G8 x
        quit:退出4 x: @7 w; U- t: Q6 [% D# t$ g
        verbose:显示详细的处理信息
/ P" o1 E5 X$ n" ~. D; W* w9 s        tarce:显示包路径' g; Q$ c3 V" B
        status:显示当前状态信息        6 P$ P/ r1 B/ Q9 b  ]9 f
        binary:二进制传输模式8 w, w2 b7 e& [
        ascii:ascii传送模式. Z  k7 ?/ J$ R+ F4 j
        rexmt:设置包传输的超时时间$ Q! ~1 \! N  H( ]9 Y
        timeout:设置重传的超时时间/ {1 W' D. t5 g+ S* o
?:帮助信息
. |0 A* f* _/ |9 P! ^8.开发板连接tftp客户端1 [/ @, ~8 U# o$ c4 g
注:在连接开发板和ubuntu的tftp服务器之前,一定要首先保证开发板和ubuntu的ping通,. r2 Q* P, A5 f7 H" u3 t  q
在保证ubuntu和开发板能够ping通的条件下,就可以使用tftp服务器了。
3 j1 P5 L1 N% E) j6 K, W% g  ~①把需要下载的文件拷贝到/var/tftpboot目录下,
, @! e' ?1 n) H/ Q②开发板下载文件:
) k7 f9 z) {0 b( O, `, H- J# r! E命令格式tftp [option] ... host [port]2 @- k) ~# m9 c: q0 {$ o
[option]:
* Z% h7 \: ~5 B( i( Y-g表示下载文件(get)+ c4 i" \5 l( S) N( z' Y  I
        -p表示上传文件(put)
2 c' _  B$ H1 H! e        -l表示本地文件名(local file)& g$ y, \# A% `2 W# {# P3 B
        -r表示远程主机的文件名(remote file)
1 r$ A* e5 B$ d# \例如:tftp -g -l helloworld -r helloworld 192.168.1.109

该用户从未签到

7#
发表于 2016-7-4 14:25 | 只看该作者
谢谢楼主,一步步来,学习中……! ~& y, B0 }7 E! e# G( M

该用户从未签到

6#
发表于 2016-7-2 14:03 | 只看该作者
支持楼主!加油. U- s! ~( y9 i% ~) g" x; B

该用户从未签到

5#
发表于 2016-7-1 08:59 | 只看该作者
必须赞一个~/ R& B( V+ x2 [, i; p1 H

该用户从未签到

4#
发表于 2016-6-30 11:12 | 只看该作者
感谢楼主分享!!!
- f% t- O5 S5 u4 L" {9 L

该用户从未签到

3#
发表于 2016-6-30 10:48 | 只看该作者
支持一下,很不错哦!
% }6 s8 x) ~- t

该用户从未签到

2#
发表于 2016-6-30 10:44 | 只看该作者
看贴学心得,回贴是美德
+ O- z! x4 ^3 g8 S- f( }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 00:44 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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