前期准備
在沒有設備的情況下,VMware虛擬機就是檢驗編譯成果和學習的最好工具,這篇博客記錄了我是如何根據官方文檔配置虛擬機的
自行編譯
如果自己編譯的時候在Target Images中勾選了Build VMware images files后,那么在編譯輸出的文件夾中就能夠直接找到vmdk格式的文件,可以直接跳過前期准備
使用img鏡像轉換
首先安裝依賴,我使用的是Ubuntu 19.04
1 |
sudo apt-get install qemu-img |
然后從OpenWrt官網上下載鏡像文件並解壓,這里下載的是openwrt-18.06.4-x86-64-combined-ext4.img.gz
1 |
wget https://downloads.openwrt.org/releases/18.06.4/targets/x86/64/openwrt-18.06.4-x86-64-combined-ext4.img.gz |
使用qemu-img將img固件轉換為vmdk格式的虛擬機硬盤文件
1 |
qemu-img convert -f raw -O vmdk openwrt-18.06.4-x86-64-combined-ext4.img openwrt-18.06.4-x86-64-combined-ext4.vmdk |
創建虛擬機
接下來就是創建一個空白的虛擬機,將vmdk文件添加到該空白虛擬機中
-
文件->新建虛擬機,選擇自定義

-
虛擬機硬件兼容性直接默認就好

-
選擇稍后安裝操作系統

-
OpenWrt18使用的是Linux4.x的內核,因此操作系統類型選擇
其他 Linux 4.x
-
虛擬機的名字,自己起一個喜歡的

-
分配處理器,1個處理器1個內核就夠了

-
分配內存,256MB就夠了

-
虛擬機的網絡連接類型,根據情況選擇,我使用的是橋接網絡

-
I/O控制器類型選擇
LSI Logic
-
虛擬磁盤類型選擇
SCSI
-
選擇磁盤的時候,點擊
使用現有虛擬磁盤,然后選擇剛剛轉換的vmdk文件。如果提示說可以轉換為格式較新的虛擬磁盤,選擇保持當前磁盤格式

-
打開虛擬機所在位置,找到
xxx.vmx文件,使用文本編輯器打開,在最后一句加上ethernet0.virtualDev = "e1000",保存文件這條語句將虛擬機的虛擬網卡類型設置為Intel e1000,Openwrt能夠將其識別出來,如果想使用其他虛擬網卡類型,可以在編譯配置的時候在
Kernel modules -> Network Devices中勾選其他網卡驅動
啟動虛擬機,配置網絡
啟動虛擬機,屏幕上是不會顯示命令行的,看到屏幕的日志不再滾動之后按回車就可以進入命令行了

因為Openwrt默認的lan配置是只限於虛擬機本地網絡的,因此還不能使用瀏覽器打開LuCi管理界面。需要修改一下lan網絡配置
1 |
vi /etc/config/network |
如果網絡中的路由器有DHCP服務器,則將interface 'lan'改成如下所示
1 |
config interface 'lan' |
如果網絡中的路由器沒有DHCP服務器,則自行指定:IP地址、子網掩碼、默認網關、DNS服務器
1 |
config interface 'lan' |
重啟網絡服務,查看是否獲得IP地址,有IP地址就表示配置成功
1 |
service network restart |

登錄LuCi
在網絡配置好之后,就可以打開瀏覽器,使用LuCi對路由器進行管理配置了。第一次登錄的時候,Openwrt會要求設置root密碼

