一、配置Ubuntu tftp服务的步骤:
1、安装相关软件包:Ubuntu tftp(服务端),tftp(客户端),xinetd,命令如下:
sudo apt-get install tftpd tftp xinetd
2、建立配置文件
在/etc/xinetd.d/下建立一个配置文件tftp
sudo vim tftp
在文件中输入以下内容(不要直接拷贝,尽量自己敲进去,以免出问题):
service tftp
{socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4}
保存退出。
3、建立Ubuntu tftp服务文件目录(上传文件与下载文件的位置),并且更改其权限
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot -R
4、重新启动服务
sudo /etc/init.d/xinetd restart
至此Ubuntu tftp服务已经安装完成了,下面可以对其进行一下测试。在相应目录下准备好测试文件test.txt,详情参见下文对get及put的解释。
$tftp 127.0.0.1
tftp> put test.txt
Sent 1018 bytes in 0.0 seconds
tftp> get test.txt
Received 1018 bytes in 0.1 seconds
tftp> quit
通过get命令,可以把当前目录下的test.txt文件,通过Ubuntu tftp上传到它的服务文件目录。这时,在/tftpboot下面会出现test.txt文件。通过put命令,可以从/tftpboot下,下载test.txt文件。这样就验证了Ubuntu tftp服务配置的正确性。当文件上传与下载结束后,可以通过quit命令退出。严格按照以上步骤配置Ubuntu tftp服务,一般都可以成功。如果出现无法get或者put的时候,可以查看一下防火墙是否关闭。
二、配置Ubuntu tftp服务的简单使用:
tftp拷贝kernel镜像文件并启动该镜像文件的使用方法。板子复位后,在启动进入板子内核前按回车,然后,依次使用下面uboot指令设置IP,拷贝内核镜像文件,并由bootm启动该内核
setenv ipaddr 192.168.1.120
setenv serverip 192.168.1.108
setenv bootargs root=/dev/nfs rw nfsroot=192.168.1.114:/home/freescale
ip=192.168.1.120:192.168.1.108:192.168.1.1:255.255.255.0 eth0:0ff console=ttymxc1 115200
tftp 0x10800000 uImage
bootm 0x10800000
进入板子内核后,在板子上的linux系统上使用tftp的方法:
通过串口使用下linux指令设置板子IP
ifconfig eth0 192.168.1.118 netmask 255.255.255.0
此配置方法掉电后失效。
每次上电后板子的Ip由系统修改文件/etc/rc.d/rcS文件的IP配置确定。更改该配置命令ifconfig对应的地址可写死开发板IP地址。
使用命令格式为:
tftp [option] ... host [port]
如果要下载或上传文件的话是一定要用这些option的。成都明诚科技。
-g表示下载文件(get)
-p表示上传文件(put)
-l表示本地文件名(local file)
-r表示远程主机的文件名(remote file)
例如,要从远程主机192.168.1.2上下载test.txt,则应输入以下命令
tftp -g -r test.txt 192.168.1.2