arm linux 下移植busybox 的tftp

(1)进入busybox目录,make menuconfig ,然后在networking中勾选tftp项跟tftpd项。

(2)配置/etc/inetd.conf 中关于tftp的选项(此部未验证,不需要应该也可以)

tftp    dgram   udp     wait    nobody  /usr/sbin/tcpd  in.tftpd

(3)部分tftp指令(部分验证)

Busybox下的tftp命令可以用来进行单文件传输。
使用的时候,是把电脑作为服务器Server,Busybox作为客户端Client,使用tftp命令可以实现从Server下载单个文件到Client,或者从Client上传单个文件到Server。

 

 在开发板上跑tftp命令,提示使用方法,其中 [OPTIONS]如下解析
-l   是local的缩写,后跟存在于Client的源文件名,或下载Client后重命名的文件名
-r   是remote的缩写,后跟Server即PC机tftp服务器根目录中的源文件名,或上传Server后重命名后的文件名
-g  是get的缩写,下载文件时用
-p  是put的缩写,上传文件时用
tftp 默认占用的是69端口

[具体实例]
1. 在上传或下载时进行重命名
1)从服务器下载文件到客户端
tftp –g –l 目标文件名 –r 源文件名 服务器地址

root@sama5d3_xplained:~# tftp -g -l aa.txt -r ss.txt 192.168.1.25
root@sama5d3_xplained:~# ls                                                    
aa.txt
2)从客户端向服务器上传文件
tftp –p –r 目标文件名  -l 源文件名 服务器地址

这里我在服务器中没有开权限,如果想开的话,修改TFTP的配置文件/etc/xinetd.d/tftp,将server_args参数改成
server_args    = -s /var/tftpboot/ -c
   #指定tftp服务器的目录,-c指定为可以创建文件


2. 在上传或下载时不进行重命名
1)从服务器下载文件到客户端(此时参数-l与-r等效,使用时只使用其中一个)
tftp –g –l/-r 源文件名   服务器地址  (已验证)

 

 如
root@sama5d3_xplained:~# tftp -g -l ss.txt 192.168.1.25                        
root@sama5d3_xplained:~# ls                                                    
aa.txt  ss.txt 

 

2)从客户端向服务器上传文件(此时参数-l与-r等效,使用时只使用其中一个)(已验证)
tftp –p –l/-r 源文件名   服务器地址

 

posted @ 2015-05-12 08:46  Kconfig  阅读(493)  评论(0编辑  收藏  举报