TFTP协议简介
TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现。嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp-client支持。因为u-boot本身内置支持tftp-client,所以嵌入式目标系统端就不用配置了。下面就详细介绍一下linux服务器端tftp-server的配置。本文来自成都明诚科技,详细信息请访问http://www.embedexpert.com/article/linuxkernel/2010/1020/tftpserverset.html
1、安装tftp服务器

需要安装xinetd、tftp和tftp-server 3个软件
 1)如果能上网,通过yum安装:
 sudo yum install xinetd
 sudo yum install tftp
 sudo yum install tftp-server
 2)如果不能上网,可以直接安装提供的rpm包:
 sudo rpm -ivh xinetd-<?xml:namespace prefix = st1 />2.3.14-18.fc9.i386.rpm
 sudo rpm -ivh tftp-0.48-3.fc9.i386.rpm
 sudo rpm -ivh tftp-server-0.48-3.fc9.i386.rpm
 2、配置tftp服务器
 修改/etc/xinetd.d/tftp文件,将其中的disable=yes改为disable=no。
 主要是设置TFTP服务器的根目录,开启服务。修改后的文件如下:
 service tftp
 { socket_type =dgram
 protocol =udp
 wait =yes
 user =root
 server =/usr/sbin/in.tftpd
 server_args =-s /home/mike/tftpboot -c
 disable =no
 per_source =11
 cps =100 2
 flags =IPv4
 }
 说明:修改项server_args= -s 
 
    处可以改为你的tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件。 
   
 3、启动tftp服务器并关闭防火墙 
   
 /etc/init.d/iptables stop //关闭防火墙 
   
 sudo /sbin/service xinetd start 
   
 或service xinetd restart 
   
 /etc/init.d/xinetd start 
   
 看到启动[OK]就可以了 
   
 4、查看tftp服务是否开启 
   
 netstat -a | grep tftp 
   
 显示结果为 
   
 udp 0 0 *:tftp 
   : 
   
 表明服务已经开启,就表明tftp配置成功了。 
   
 5、tftp使用 
   
 复制一个文件到tftp服务器目录,然后在主机启动tftp软件,进行简单测试。 
   
 tftp 192.168.1.2 
   
 tftp>get 
   
 tftp>put 
   
 tftp>q 
   
 6、tftp命令用法如下 
   
 tftp your-ip-address 
   
 【进入TFTP操作】 
   
 connect:连接到远程tftp服务器 
   
 mode:文件传输模式 
   
 put:上传文件 
   
 get:下载文件 
   
 quit:退出 
   
 verbose:显示详细的处理信息 
   
 tarce:显示包路径 
   
 status:显示当前状态信息 
   
 binary:二进制传输模式 
   
 ascii:ascii传送模式 
   
 rexmt:设置包传输的超时时间 
   
 timeout:设置重传的超时时间 
   
 help:帮助信息 
   
 ?:帮助信息 
   
 7、如果老是出现“AVC Denial, click icon to view”的错误,并不能传输文件,需要作如下修改 
   
 修改/etc/sysconfig/selinux,将SELINUX设定为disable 
   
 使用命令setenforce 0让selinux配置文件生效 
   
 8、Busybox中tftp命令的用法 
   
 命令格式为: 
   
 tftp [option] … host [port] 
   
 如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。 
   
 -g表示下载文件(get) 
   
 -p表示上传文件(put) 
   
 -l表示本地文件名(local file) 
   
 -r表示远程主机的文件名(remote file) 
   
 例如,要从远程主机192.168.1.2上下载embedexpert,则应输入以下命令 
   
 tftp -g -r embedexpert 192.168.1.2 
  在防火墙或交换机上备份配置文件到tftp服务器上:
 2.登录SW/Rourtera.保存配置
c#copy running-config startup-config
b.copy配置上传到ftpt服务器
#copy startup-config tftp:
Address or name of remote host []? 10.4.10.18
Destination filename [switch-confg]?1.txt
6736 bytes copied in 0.126 secs (53460 bytes/sec)
4.导入方法
1.拷贝配置档
#copy tftp startup-config
Address or name of remote host []? 10.4.10.18
Source filename []? 1.txt
Destination filename [startup-config]? 回车==Startup-config.cfg
5
 2.重新加载设备Sw1#reload
System configuration has been modified.
Save?[yes/no]:n
Proceed with reload?[confirm]

发出reload命令后,系统将提示您是否要保存配置,此处不需要保存,所以选择no。如果此处选择yes,则刚刚恢复的文件将被当前运行的配置覆盖。