開發環境:
主機:Ubuntu16.04
版本:OpenWrt19.07
1 添加SSH服務器
一說到開發板和Windows之間互傳文件,大家肯定馬上就會想到通過SSH,但是大家最終發現,無論我們通過什么軟件,總是不能登錄到開發板上。
那么,這會是什么原因呢?因為目前為止,我們開發板上面的系統還沒有SSH服務器,所以我們總是不能登錄上去。那么,接下來,我們就來給開發板上的系統添加SSH服務器。
首先進入OpenWrt系統源碼的頂層目錄,然后執行make menuconfig命令。
$make menuconfig
Network --- >
SSH --- >
< * > openssh-sftp-client
< * > openssh-sftp-server
最后就是保存退出,然后重新編譯。
$make V=99
2 開發板與Windows互傳文件
將上面新編譯出來的固件重新燒寫到開發板上面,此時開發板上面的系統就支持SSH服務器了,接下來我們就通過xftp軟件登錄到開發板。
【注】Windows的基于FTP的軟件很多,比如SSHSecureShellClient
3 開發板Ubuntu傳文件
3.1 準備工作
之前我們一直都是使用 Ubuntu完成 OpenWrt 的編譯工作,然后通過 smb 服務器把固件拿到 Windows 里面去進行下載,當然編譯內核時這個是固定做法;但是后面涉及到其他部分比如驅動程序固件,應用程序固件,我們就不會說通過這種方式進行固件的下載了(在ubuntu 中編譯出固件,然后 smb 共享到 Windows,通過 ssh 軟件共享到開發板進行使用),這樣相對麻煩,我們可以通過 ssh 直接從 Ubuntu下載文件到開發板。
注意:ssh 必須有客戶端和服務器,在上文講我們讓開發板支持了 ssh 網絡服務,同時Ubuntu也必須支持該服務才能彼此通信,開發板的 ssh 服務是 OpenWrt 內核運行后才可以實現的,所以內核固件是無法直接從 Ubuntu下載的,這點是需要說明的!
其實用 ssh 傳文件圖形化操作更方便,以下方法測試一下也可以的,藝多不壓身!
好的,現在我們在虛擬機 Ubuntu中安裝 ssh 網絡服務(注意如果用我們提供鏡像可以跳過安裝 ssh):
$sudo apt-get install openssh-server
安裝后我們可以查看 ssh 網絡服務的當前版本:
$ssh -V
3.2 開發板登錄到Ubuntu的 ssh 服務器中
登錄的命令格式為:
$ssh servername@serverip
其中 servername 是 Ubuntu的用戶名,serverip 是 Ubuntu的 ip 地址。
比如我們登錄到一個用戶名為 bruceou 的Ubuntu的 ssh 服務器中(能登錄的大前提是可以相互 ping 得通)。
好的,現在可以登錄到 ubuntu 了。
接下來我們要從 Ubuntu上面下載文件到開發板中,下載方式很簡單:
命令格式:scp 源(服務器目標文件路徑) 目標(用戶名@用戶 ip :文件路徑)
注意:要在超級用戶模式下操作。
在后面的實驗中,除了OpenWrt 內核固件外,我們都是通過這樣的方法從 Ubuntu中獲取文件的,所以務必掌握這一部分的知識,尤其是 scp 做下載功能的時候。
當然 scp 還可以用來做文件的上傳,這里我們帶過講解一下使用方法:
scp 源(用戶名@用戶 ip :文件路徑) 目標文件路徑
比如:scp root@192.168.0.1:/a.c /home/bruceou/
上傳的后面我們幾乎不會用到,理解就可以了,也是很簡單的!
審核編輯:湯梓紅
-
WINDOWS
+關注
關注
3文章
3544瀏覽量
88668 -
文件
+關注
關注
1文章
566瀏覽量
24737 -
開發板
+關注
關注
25文章
5048瀏覽量
97442 -
Ubuntu
+關注
關注
5文章
563瀏覽量
29751 -
OpenWrt
+關注
關注
10文章
130瀏覽量
39302
發布評論請先 登錄
相關推薦
評論