||
部分內容主要是關(guān)于TFTP服務(wù)器的搭建,特別單獨拿出來(lái)講解一下。
一、TFTP服務(wù)器的搭建與測試:
TFTP是用來(lái)下載遠程文件的最簡(jiǎn)單網(wǎng)絡(luò )協(xié)議,它其于UDP協(xié)議而實(shí)現。嵌入式linux的tftp開(kāi)發(fā)環(huán)境包括兩個(gè)方面:一是linux服務(wù)器端的tftp-server(服務(wù)器)支持,二是嵌入式目標系統的tftp-client(客戶(hù)端)支持。因為u-boot本身內置支持tftp-client,所以嵌入式目標系統端就不用配置了。下面就詳細介紹一下linux服務(wù)器端tftp-server的配置
實(shí)際上我們同樣可以在windows上搭建TFTP服務(wù)器,之后的話(huà)我可能會(huì )對這部分內容作一些補充。但這里我主要講解一下在Linux下的TFTP服務(wù)器搭建:
1、搭建TFTP服務(wù)器我們需要三個(gè)東西:xinetd、tftp、tftpd,在保證聯(lián)網(wǎng)的情況下安裝它們。
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鍵隔開(kāi),不建議使用空格)
其中的server_args是tftp 服務(wù)器的目錄。TFTP 客戶(hù)端就是從這個(gè)目錄里面獲取服務(wù)器上的文件的。上圖使用的是/var/tftpboot,用戶(hù)可以自己定義。
3、創(chuàng )建目錄:mkdir /var/tftpboot
4、改變權限:chmod 777 /var/tftpboot
5、啟動(dòng)xinetd服務(wù):sudo /etc/init.d/xinetd restart
6、測試TFTP服務(wù)器:
輸入命令:netstat -a | grep tftp
出現上圖的情況說(shuō)明配置成功
我們可以本地測試一下tftp服務(wù)器:
①在tftpboot目錄下創(chuàng )建一個(gè)文本文件,隨便寫(xiě)點(diǎn)什么:
例如vi /var/tftpboot/tftptest
輸入“This is TFTPTEST!”,保存退出。
②隨便進(jìn)入一個(gè)你常用的目錄,作為下載文件的目的目錄,輸入tftp(也可以寫(xiě)成tftp localhost或者tftp 127.0.0.1),連接到本地的tftp服務(wù)器。
③get test下載文件到目的目錄,q退出,ls就可以看到文件已經(jīng)到了你的當前目錄。cat test 就可以看到了文件內容。
7、TFTP操作:
注意tftp命令行下是不支持Linux命令的,它有自己獨特的命令,使用?命令可以看到。
connect:連接到遠程tftp服務(wù)器
mode:文件傳輸模式
put:上傳文件
get:下載文件
quit:退出
verbose:顯示詳細的處理信息
tarce:顯示包路徑
status:顯示當前狀態(tài)信息
binary:二進(jìn)制傳輸模式
ascii:ascii傳送模式
rexmt:設置包傳輸的超時(shí)時(shí)間
timeout:設置重傳的超時(shí)時(shí)間
?:幫助信息
8.開(kāi)發(fā)板連接tftp客戶(hù)端
注:在連接開(kāi)發(fā)板和ubuntu的tftp服務(wù)器之前,一定要首先保證開(kāi)發(fā)板和ubuntu的ping通,
在保證ubuntu和開(kāi)發(fā)板能夠ping通的條件下,就可以使用tftp服務(wù)器了。
①把需要下載的文件拷貝到/var/tftpboot目錄下,
②開(kāi)發(fā)板下載文件:
命令格式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