迅爲4418開發板Linux系統TFTP傳輸文件

TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議),是一個基於 UDP 協議實現的用於在客戶機和服務器之間進行簡單文件傳輸的協議,適合於開銷不大、不復雜的應用場合。TFTP 協議專門爲小文件傳輸
而設計,只能從服務器上獲取文件,或者向服務器寫入文件,不能列出目錄,也不能進行認證。根據上面關於 TFTP 的介紹,實現 TFTP 需要搭建一個 TFTP 的服務器,iTOP-4418 開發板當做客戶端。
70.1  搭建服務器
打開虛擬機 Ubuntu 終端,進入 root 用戶,輸入“sudo apt-get install xinetd”命令安裝 xinetd,安裝完成如下圖。(如果報錯,注意檢查命令拼寫:xinetd)

接下來輸入“sudo apt-get install tftp tftpd”安裝 tftp 和 tftpd,安裝完成如下圖。

然後建立 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
}

如下圖。

注意:如上圖所示,這個文件在粘貼內容之後,必須按照上面的格式嚴格對齊。
退出並保存。其中 server_args 設置的/var/tftpboot 目錄是 tftp 服務器的目錄,TFTP 客戶端就是從這個目錄裏面獲取服務器上的文件的。使用命令“mkdir /var/tftpboot”建立 tftp 服務器的目錄,然後設置/var/tftpboot 的訪問權限爲 777,如下圖。

輸入”sudo /etc/init.d/xinetd restart”命令重啓 xinetd 服務,如下圖。

服務器到這一步就搭建好了,下面來進行測試。
70.2  服務器測試
本機測試:在/var/tftpboot 下面建立一個文件 test,在裏面輸入 hello world,然後保存該文件,如下圖

再啓動另一個終端,然後輸入 tftp 127.0.0.1,如下圖。

輸入 get test 獲取 test 文件,然後輸入 q 退出 tftp,如下圖。

由上圖可知,獲取到 13 字節的 test。
然後輸入 ls 查看當前目錄下是否有 test 文件了,通過查看,發現當前目錄下已經有 test 文件了,這就是/var/tftpboot 目錄下的那個 test 文件。然後使用 cat 命令查看一下 test 的內容,如下圖。

通過上面的截圖,看到 test 文件裏面的內容是 hello world,與/var/tftpboot 目錄的 test 是一樣的,至此的 TFTP 服務器端的配置和測試就完成了。
現 開發板實現 TFTP 輸 文件傳輸  :
開發板進入系統後,輸入“ifconfig”命令查看板子 ip,然後輸入“ping 192.168.1.3”命令來測試板子和虛擬機 Ubuntu 之間的網絡。如下圖。

保證開發板和 ubuntu 在同一網段,開發板可通過修改/etc/eth0-setting 配置網絡,

用 ifconfig 查看到 ip 修改有效。在開發板串口輸入“tftp -g -l test -r test 192.168.1.3”,並用 cat 命令查看,如下圖。

可以看到 ubuntu 端/var/tftpboot 裏的 test 文件已經傳輸到了開發板。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章