Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1255513
  • 博文数量: 261
  • 博客积分: 4196
  • 博客等级: 上校
  • 技术积分: 3410
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-17 17:05
文章分类

全部博文(261)

文章存档

2018年(1)

2017年(22)

2016年(2)

2015年(8)

2014年(27)

2013年(40)

2012年(161)

分类: 嵌入式

2013-12-19 15:37:22

原文:

TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。

嵌入式linux的tftp开发环境包括两个方面:

一是linux服务器端的tftp-server支持,

二是嵌入式目标系统的tftp-client支持。

因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。

下面就详细介绍一下linux服务器端tftp-server的配置。在redhat 9.0的第三张光盘中,有tftp-server的安装rpm包。(1)      安装

#mount –t iso9660 /dev/hdc /mnt/cdrom    //挂载光盘

#rpm -ivh tftp-server-0.32-4.i386.rpm              //安装

#umount /mnt/cdrom                                          //卸载光盘

(2)修改文件在linux下,不管使用的是哪一种super-server,inetd或者xinetd,默认情况下TFTP服务是禁用的,所以要修改文件来开启服务。

根据(1)的安装方法,可以修改文件/etc/xinetd.d/tftp。主要是设置TFTP服务器的根目录,开启服务。

修改后的文件如下:

service tftp {    

socket_type            =dgram       

protocol                  =udp       

wait                        =yes       

user                        =root       

server                     =/usr/sbin/in.tftpd       

server_args             =-s /home/app -c       

disable                    =no       

per_source             =11       

cps                         =100 2       

flags                       =IPv4

}

说明:修改项server_args= -s         -c,其中处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。

(3)创建tftp根目录,关闭防火墙,启动tftp-server。

#mkdir /home/app

#chmod o+w       /home/app

#/etc/init.d/iptables stop        //关闭防火墙

#service xinetd restart          //重启 xinetd 服务

重启xinetd服务,因为TFTP服务受控与xinetd, xinetd是管服务的服务,它是不开端口的。

验证一下TFTP是否起来了:

# netstat -nlp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:32768 0.0.0.0:* LISTEN 3122/rpc.statd

tcp 0 0 127.0.0.1:32781 0.0.0.0:* LISTEN 4035/xinetd

tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3103/portmap

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3324/httpd

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3255/sshd

tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3213/cupsd

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3295/sendmail: acce

tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 3415/0

tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 3324/httpd

udp 0 0 0.0.0.0:32768 0.0.0.0:* 3122/rpc.statd

udp 0 0 0.0.0.0:69 0.0.0.0:* 4035/xinetd   ;

可以看到69端口已经打开

udp 0 0 0.0.0.0:69 0.0.0.0:* 4012/in.tftpd

udp 0 0 0.0.0.0:111 0.0.0.0:* 3103/portmap

udp 0 0 0.0.0.0:754 0.0.0.0:* 3122/rpc.statd

udp 0 0 0.0.0.0:631 0.0.0.0:* 3213/cupsd

这样,tftp-server就启动了。

你可以登陆本机测试以下,命令如下:

#tftp     your-ip-address

tftp>get

tftp>put

tftp>q

#

阅读(1123) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~