轉自iTOP-4412討論群: http://www.topeetboard.com 這部分內容主要是關于TFTP服務器的搭建,特別單獨拿出來講解一下。 一、TFTP服務器的搭建與測試: TFTP是用來下載遠程文件的最簡單網絡協議,它其于UDP協議而實現。嵌入式linux的tftp開發環境包括兩個方面:一是linux服務器端的tftp-server(服務器)支持,二是嵌入式目標系統的tftp-client(客戶端)支持。因為u-boot本身內置支持tftp-client,所以嵌入式目標系統端就不用配置了。下面就詳細介紹一下linux服務器端tftp-server的配置 實際上我們同樣可以在windows上搭建TFTP服務器,之后的話我可能會對這部分內容作一些補充。但這里我主要講解一下在Linux下的TFTP服務器搭建: 1、搭建TFTP服務器我們需要三個東西:xinetd、tftp、tftpd,在保證聯網的情況下安裝它們。 sudo apt-get install xinetd sudo apt-get install tftp sudo apt-get install tftpd 2.建立TFTP的配置文件(這一步比較容易出錯): vi /etc/xinetd.d/tftp 輸入以下代碼: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/tftpboot/ disable = no per_source = 11 cps = 100 2 Flags = IPv4 } 代碼格式如下圖所示(用tab鍵隔開,不建議使用空格) 其中的server_args是tftp 服務器的目錄。TFTP 客戶端就是從這個目錄里面獲取服務器上的文件的。上圖使用的是/var/tftpboot,用戶可以自己定義。 3、創建目錄:mkdir /var/tftpboot 4、改變權限:chmod 777 /var/tftpboot 5、啟動xinetd服務:sudo /etc/init.d/xinetd restart 6、測試TFTP服務器: 輸入命令:netstat -a | grep tftp 出現上圖的情況說明配置成功 我們可以本地測試一下tftp服務器: ①在tftpboot目錄下創建一個文本文件,隨便寫點什么: 例如vi /var/tftpboot/tftptest 輸入“This is TFTPTEST!”,保存退出。 ②隨便進入一個你常用的目錄,作為下載文件的目的目錄,輸入tftp(也可以寫成tftp localhost或者tftp 127.0.0.1),連接到本地的tftp服務器。 ③get test下載文件到目的目錄,q退出,ls就可以看到文件已經到了你的當前目錄。cat test 就可以看到了文件內容。 7、TFTP操作: 注意tftp命令行下是不支持Linux命令的,它有自己獨特的命令,使用?命令可以看到。 connect:連接到遠程tftp服務器 mode:文件傳輸模式 put:上傳文件 get:下載文件 quit:退出 verbose:顯示詳細的處理信息 tarce:顯示包路徑 status:顯示當前狀態信息 binary:二進制傳輸模式 ascii:ascii傳送模式 rexmt:設置包傳輸的超時時間 timeout:設置重傳的超時時間 ?:幫助信息 8.開發板連接tftp客戶端 注:在連接開發板和ubuntu的tftp服務器之前,一定要首先保證開發板和ubuntu的ping通, 在保證ubuntu和開發板能夠ping通的條件下,就可以使用tftp服務器了。 ①把需要下載的文件拷貝到/var/tftpboot目錄下, ②開發板下載文件: 命令格式tftp [option] ... host [port] [option]: -g表示下載文件(get) -p表示上傳文件(put) -l表示本地文件名(local file) -r表示遠程主機的文件名(remote file) 例如:tftp -g -l helloworld -r helloworld 192.168.1.109 |