在嵌入式linux開發(fā)過程中,一般是在虛擬機中安裝Linux發(fā)行版操作系統(tǒng),然后在系統(tǒng)平臺上進行開發(fā)。這時候會遇到虛擬機和目標硬件平臺之間的網(wǎng)絡環(huán)境搭建之間的諸多問題。
很多時候,由于種種原因,筆記本電腦和目標板卡之間無法通過路由器連接,本文描述一種網(wǎng)絡環(huán)境搭建方法:能保證虛擬機中的Linux系統(tǒng)和物理機都能上外網(wǎng),也能通過TFTP和NFS來進行開發(fā)調試。
環(huán)境如下:
(1)筆記本電腦(Windows系統(tǒng))通過連接WiFi訪問外網(wǎng)。
(2)筆記本電腦通過網(wǎng)口連接目標硬件板卡。
(3)虛擬軟件為VMware Workstation。版本:16.0.0
(4)Linux發(fā)行版系統(tǒng)為:Ubuntu 20.04
(5)網(wǎng)線一根。
首先,查看筆記本電腦的網(wǎng)絡適配器,這里小生的筆記本網(wǎng)絡適配器如下圖所示:
VMnet1和VMnet8:是安裝VMware Workstation軟件后,自動安裝上的虛擬網(wǎng)卡。
Intel(R) Wi-Fi 6 AX201 160MHz:無線網(wǎng)卡。
Intel(R) Ethernet Connection (11) I219-V:以太網(wǎng)網(wǎng)卡。
從上圖中,無線網(wǎng)卡連接成功,且能正常訪問外網(wǎng),以太網(wǎng)網(wǎng)卡識別到網(wǎng)絡電腦被拔出。
然后使用網(wǎng)線將筆記本電腦和目標硬件板卡連接起來。
接著在Windows中,用鼠標右鍵單擊“以太網(wǎng)”,選擇“屬性”,然后選擇“Internet協(xié)議版本4(TCP/IPv4)”配置以太網(wǎng)的靜態(tài)IP地址如下圖所示:
然后點擊“確定”,將筆記本電腦的以太網(wǎng)IP地址配置成192.168.1.10。
完成后,在Windows命令行下使用ipconfig查看IP地址信息:
從上圖可知,以太網(wǎng)IP地址配置成功,無線WLAN的IP地址也都存在。
需要目標板卡上電后,筆記本電腦的以太網(wǎng)才會連接成功,也才能查看到對應的IP信息。
從上圖可知,小生的筆記本電腦的IP地址配置如下:
(1)以太網(wǎng)IP地址:192.168.1.10 ?(靜態(tài)配置)
(2)無線WLAN的IP地址:192.168.0.109 ?(動態(tài)獲?。?/p>
上述內容描述了筆記本電腦上的網(wǎng)絡配置,接下來將配置VMware Workstation虛擬網(wǎng)絡。首先打開“虛擬網(wǎng)絡編輯器”:
打開后,如下圖所示:
選擇“更改設置”后,將如下圖所示:
選中VMnet2,然后選擇“橋接模式”,并在下拉菜單中選擇Intel(R) Ethernet Connection (11) I219-V以太網(wǎng)網(wǎng)卡。通過這種方式就將VMnet2橋接到了以太網(wǎng),用于虛擬機Linux與目標硬件平臺之間通過網(wǎng)絡通信。
為了保證虛擬機Linux能訪問外網(wǎng),還需要添加一個網(wǎng)絡:選擇下圖所示的“添加網(wǎng)絡”選項:
然后點擊“確定”,將創(chuàng)建一個名為VMnet0的網(wǎng)絡,同樣選中“VMnet0”網(wǎng)絡,選擇“橋接模式”,在下拉菜單中選擇Intel(R) Wi-Fi 6 AX201 160MHz無線網(wǎng)卡,這樣便將VMnet0橋接到Intel(R) Wi-Fi 6 AX201 160MHz無線網(wǎng)卡了。
最后,依次點擊“應用”->“確定”。
通過上述步驟,已經(jīng)在VMware Workstation配置了兩個虛擬網(wǎng)絡:VMnet0、VMnet2。在下文中,我們將他們添加到虛擬機Ubuntu中。
首先選中需要運行的虛擬機,右鍵單擊,選擇“設置”,然后選擇“網(wǎng)絡適配器”,選中“自定義”,在下拉菜單中選擇VMnet0:
這樣,便將VMnet0添加到虛擬機Ubuntu中了,這時候,我們還需要添加VMnet2,步驟如下:
選中“添加”,選擇“網(wǎng)絡適配器”,接著點擊“完成”,完成后如下圖所示:
我們仍然選擇“自定義”模式,選擇“VMnet2”,完成后,如下圖所示:
通過以上步驟,我們完成了筆記本電腦上的網(wǎng)絡配置和VMware Workstation的虛擬網(wǎng)絡配置,讓我們理一下思路:目前虛擬網(wǎng)絡VMnet0是橋接到了無線WLAN,虛擬網(wǎng)絡VMnet2是橋接到了以太網(wǎng)。
接下來,啟動虛擬機Ubuntu,進入系統(tǒng)后,打開網(wǎng)絡配置,這時候會看到兩個網(wǎng)絡:ens33、ens38
因為ens33表示的是VMnet0,該虛擬網(wǎng)絡橋接到了無線WLAN,所以配置ens33時選擇自動獲取IP地址:
因為ens38是用于虛擬機Ubuntu連接目標硬件平臺的,故需要設置該網(wǎng)絡的IP地址與筆記本電腦的以太網(wǎng)IP地址在同一個網(wǎng)段內:筆記本以太網(wǎng)IP地址為192.168.1.10,故此處小生設置虛擬機Ubuntu的ens38網(wǎng)絡的IP地址為192.168.1.30,如下圖所示:
網(wǎng)絡配置完成后,在Ubuntu終端下,輸入以下命令:
?
sudo?/etc/init.d/network-manager?restart
?
重啟網(wǎng)絡。
然后在終端下輸入ifconfig,可以查看IP地址信息,小生此處顯示如下:
可見網(wǎng)絡配置成功!
接下來就是測試一下整個網(wǎng)絡配置是否通暢了:
(1)在虛擬機Ubuntu中,ping一下外網(wǎng),能正常ping通,證明外網(wǎng)訪問成功。
(2)目標硬件板卡、虛擬機Ubuntu、筆記本電腦三者之間互ping IP地址,如果能正常ping通,則證明嵌入式Linux網(wǎng)絡開發(fā)環(huán)境搭建成功。
注意:如果ping不通,可能筆記本電腦禁止了專用網(wǎng)絡訪問,這時候需要關閉訪問墻或者設置網(wǎng)絡準入原則。還必須確保目標硬件板卡、虛擬機Ubuntu、筆記本電腦三者之間的IP地址在同一個網(wǎng)段。
總結
本文的目的是既要保證嵌入式Linux平臺的網(wǎng)絡環(huán)境正常工作,又要保證筆記本電腦(Windows)端、虛擬機Ubuntu都能正常訪問外網(wǎng)。
實現(xiàn)的核心思路是:使用VMware Workstation虛擬兩個網(wǎng)絡VMnet0、VMnet2,VMnet0橋接到無線WLAN,實現(xiàn)外網(wǎng)的訪問;VMnet2橋接到以太網(wǎng),用于虛擬機Ubuntu與目標硬件板卡之間通過網(wǎng)線通信,便于嵌入式Linux平臺下的開發(fā)和調試。
審核編輯:劉清
評論
查看更多