各位小伙伴在使用ElfBoard開發(fā)板的過程中,必然會有拷貝文件到開發(fā)板中的這個操作,通??梢酝ㄟ^U盤進行拷貝,但是為了更方便的傳輸文件,還可以通過搭建網(wǎng)絡服務的方式進行文件傳輸,下面給小伙伴們介紹一些常用的網(wǎng)絡服務的搭建和使用。
首先ubuntu的網(wǎng)絡模式需要設置為橋接模式,電腦主機、ubuntu主機、開發(fā)板三者的ip要處于同一網(wǎng)段,且ubuntu主機要能上外網(wǎng),同時還要關(guān)閉ubuntu和windows防火墻(關(guān)閉ubuntu防火墻:sudo ufw disable)。
本文中使用的三者的ip分別如下:
電腦主機ip:192.168.0.64
Ubuntu主機ip:192.168.0.51
開發(fā)板ip:192.168.0.232
TFTP服務搭建
NFS服務搭建
在嵌入式Linux開發(fā)中,需要在Linux主機編寫程序代碼,然后編譯程序,生成的二進制程序文件要傳輸?shù)侥繕藱C上才能調(diào)試、運行。那么如何更快、更便捷地傳輸文件,提高開發(fā)工作的效率呢?NFS無疑是最好的選擇。通過NFS服務,主機將用戶指定的目錄通過網(wǎng)絡共享給目標機(和windows的文件網(wǎng)絡共享類似)。目標機可以直接運行存放于Linux主機共享目錄下的二進制程序,這樣調(diào)試程序時十分方便、高效。
NFS即網(wǎng)絡文件系統(tǒng)(Network File-System),可以通過網(wǎng)絡讓不同機器、不同系統(tǒng)之間可以實現(xiàn)文件共享。通過NFS,可以訪問遠程共享目錄,就像訪問本地磁盤一樣。
創(chuàng)建NFS的目錄為nfs_rootfs,并在該目錄下新建測試文件test;
修改配置文件:
在文件中添加以下配置:
重啟配置文件和服務:
掛載成功后,查看/mnt目錄,會看到剛才解壓的文件系統(tǒng):
SSH服務搭建
(1)Linux主機不在本地,但又要使用或者維護這臺計算機;
(2)一個嵌入式Linux產(chǎn)品不方便接調(diào)試串口,需要進行維護;
(3)在遠程機器和本地機器之間進行文件傳輸。
如果遠程目標系統(tǒng)已經(jīng)開啟了SSH服務,通過SSH可以輕松解決以上問題。使用SSH服務,一方面需要在遠程系統(tǒng)上安裝SSH服務,另一方面要在本地系統(tǒng)上安裝SSH客戶端,常見的SSH客戶端有 putty、SSH Secure Shell Client 等。
(1)SSH是安全的加密協(xié)議,用于遠程連接Linux服務器;
(2)SSH默認端口是22號端口,安全協(xié)議版本SSHv2,除了SSHv2版本之外還有SSHv1版本(有漏洞,不安全);
(3)SSH服務端主要包含兩個服務功能SSH遠程連接和SFTP服務;
(4)Linux SSH客戶端包含SSH遠程連接命令以及遠程拷貝scp命令等。
(1)在Ubuntu(Linux主機)終端鍵入以下指令,安裝SSH服務:
(2)啟動SSH服務:
(3)查看SSH服務的狀態(tài):
/$ sudo service ssh status :
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-08-23 17:19:57 CST; 45s ago
Main PID: 7383 (sshd)
Tasks: 1 (limit: 2292)
CGroup: /system.slice/ssh.service
/usr/sbin/sshd -D
23 17:19:57 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
23 17:19:57 ubuntu sshd[7383]: Server listening on 0.0.0.0 port 22.
23 17:19:57 ubuntu sshd[7383]: Server listening on :: port 22.
23 17:19:57 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
(4)關(guān)閉SSH服務:
(5)測試方法:
在Windows主機通過putty訪問Linux系統(tǒng),打開putty界面,使用SSH登錄,ip設置Linux主機的ip,端口號默認為22。