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服務是否開啟
netstat -a | grep tftp
顯示結果為
udp 0 0 *:tftp *:*
表明服務已經開啟,就表明tftp配置成功了。
2、tftp使用
復制一個文件到tftp服務器目錄,然后在主機啟動tftp軟件,進行簡單測試。
tftp 192.168.1.2 tftp>get <download file> tftp>put <upload file> tftp>q
6、tftp命令用法如下
tftp your-ip-address
【TFTP相關操作命令】
connect:連接到遠程tftp服務器 mode:文件傳輸模式 put:上傳文件 get:下載文件 quit:退出 verbose:顯示詳細的處理信息 tarce:顯示包路徑 status:顯示當前狀態信息 binary:二進制傳輸模式 ascii:ascii傳送模式 rexmt:設置包傳輸的超時時間 timeout:設置重傳的超時時間 help:幫助信息 ?:幫助信息
3、如果老是出現“AVC Denial, click icon to view”的錯誤,並不能傳輸文件,需要作如下修改
修改/etc/sysconfig/selinux,將SELINUX設定為disable
使用命令setenforce 0讓selinux配置文件生效
4、Busybox中tftp命令的用法
命令格式為:
tftp [option] ... host [port]
如果要下載或上傳文件的話是一定要用這些option的。成都明誠科技。
-g表示下載文件(get) -p表示上傳文件(put) -l表示本地文件名(local file) -r表示遠程主機的文件名(remote file)
例1:要從遠程主機192.168.1.2上下載embedexpert,則應輸入以下命令
tftp -g -r embedexpert 192.168.1.2
例2:
tftp 0x80600000 u-boot-with-spl.bin
把文件u-boot-with-spl.bin通過tftp加載到內存的0x80600000處
例3:
tftp 193.169.3.42
tftp>connect tftp>get demon.txt tftp>status tftp>quit
這就是從共享出通過tftp下載文件。
