如果使用4412開發板那麼怎麼搭建和測試TFTP服務器

在前面的視頻中介紹了控制 led 的程序的實現,需要把編譯好的 led 可執行文件拷貝到文件系統裏面,用 make_ext4fs 命令重新制作 system.img 文件系統,然後再燒寫到 iTOP- 4412 開發板,然後再運行led 可執行文件。這種方式的缺點是每次修改了應用程序,都需要重新制作文件系統,在重新燒寫文件系統,效率很低。
這一章先講解如何通過 TFTP 來實現在線傳輸文件,先在虛擬機 Ubuntu 上搭建一個服務器,並在虛擬機 Ubuntu 上做客戶端進行測試。
TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議),是一個基於 UDP 協議實現的用於在客戶機和服務器之間進行簡單文件傳輸的協議,適合於開銷不大、不復雜的應用場合。TFTP 協議專門爲小文件傳輸而設計,只能從服務器上獲取文件,或者向服務器寫入文件,不能列出目錄,也不能進行認證。
本章配套視頻爲:“視頻 08TFTP 服務器搭建和測試”
Linux網絡部分的學習方法
這裏並不會費勁的去介紹 TFTP 協議,那個意義不大,主要是教大家如何操作,在這個過程中進步。網絡協議非常複雜,完整的網絡協議一個人將資料看一遍,估計這輩子就過去了。在這個龐大的網絡工程中,不同的工程師分別做不同的工作,作爲嵌入式 linux 工程師,要做的就是拿別人做好的東西移植,在嵌入式上完善功能。
其實嵌入式上的所有功能從最開始,幾乎都是從 PC 上移植過來的,很多代碼以及軟件都是在 PC 機上實現過,嵌入式 ARM 處理器的發展相對於滯後(ARM 的流行是 2000 年之後的事情),所以在嵌入式上移植就成了非常重要的一項能力。
19.1 Ubuntu  服務端的搭建
在虛擬機 Ubuntu 上打開終端,如下圖。
首先輸入命令“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服務,如下圖。
服務器到這一步就搭建好了,後面來進行測試。
服務器測試
本機測試:在/var/tftpboot下面建立一個文件test,在裏面輸入 hello world,然後保存該文件,如下圖。
在啓動另外一個終端,如下圖。
然後輸入:tftp 127.0.0.1,如下圖。
輸入 get test 獲取 test 文件,如下圖。
在上圖看到獲取到 test 的信息 13 字節,然後輸入 q 退出 tftp,如下圖。
然後輸入 ls 查看當前目錄下是否有 test 文件了,通過查看,發現當前目錄下應經有 test 文件了,這就是/var/tftpboot 目錄下的那個 test 文件,如下圖。
使用 cat 命令查看一下 test 文件的內容,如下圖。
通過上面的截圖,看到 test 文件裏面的內容是 hello world,與/var/tftpboot 目錄的 test 是一樣的,至此的 TFTP 服務器端的配置和測試就完成了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章