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