这份文档描述了如何在 macOS(Apple Silicon 硬件)上的 UTM虚拟机 中运行 armsr/armv8 架构的 OpenWrt 镜像。
您可以在wiki的其他地方找到 macOS(Apple Silicon 硬件)上采用其他虚拟化技术虚拟机的安装教程
您需要 ARM x64 位版本的 OpenWrt。 有下列两个版本可供选择:
combined-squashfs.img.gz: 截止到版本23.05.0,这个版本与sysupgrade功能不兼容combined-ext4.img.gz: 这个磁盘镜像使用一个单独的可读写的ext4分区,没有只读的squashfs根文件系统,因此无法使用像 Failsafe Mode(安全模式)或 Factory Reset(出厂重置)等功能
在这份文档中,我们将使用openwrt-armsr-armv8-generic-ext4-combined.img.gz/,因为它支持sysupgrade功能
generic-ext4-combined.img.gzopenwrt.img镜像文件
提示:保留原始的gzip压缩的镜像文件的副本,它可以用作sysupgrade的镜像。
启动UTM,然后点击Create a new Virtual Machine
选择Other(因为Linux的安装路径需要一个安装ISO映像文件,而我们在OpenWrt中不使用这种映像文件)。
配置为512MB内存和2个CPU(需要保证有足够资源运行sysupgrade)。
接受默认的存储设置(稍后将删除这个驱动器并替换为OpenWrt镜像)。
勾选Open VM Settings。为虚拟机命名,然后点击Save
如果您根据本文档了设置,请继续参考下列配置:
选择Network。将网络模式更改为Host Only。勾选Show Advanced Settings。在Guest Network框中,输入虚拟机LAN的网络范围:10.0.2.0/24。
在“Devices”下,点击/+New条目,添加一个新的Network。点击这个网络并确认它被配置为Shared Network。
虚拟机上的br-lan 接口连接到lan 接口,固定地址为10.0.2.2,在UTM中设置为Host Only Network。此接口将始终对当前主机可用。
虚拟机上的eth1接口连接到wan接口,使用动态地址,在UTM中设置为Shared Network(NAT)。此接口将通过主机进行互联网访问。
“Host Only Network“和“Shared Network”的顺序对于运行在虚拟机中OpenWrt的即插即用操作非常重要。虽然后续你可以使用控制台进行配置,但以这种方式配置可以简化启动配置的过程。
在Display选项上右键点击并删除它。在Sound选项上右键点击并删除它。(由于OpenWrt运行在终端,无需声音图形设备,删除可以减轻资源压力)在VirtIO Drive选项上右键点击并删除它。确认删除驱动器,点击Delete。(这是UTM在创建虚拟机时创建的空白磁盘)
继续在下方点击/+New条目,添加一个新的Serial设备。点击串口设备并检查模式。默认模式是一个内置终端窗口,支持使用macOS原生键盘快捷键进行复制和粘贴。可自由终端样式。
在Drives选项部分,选择New...。接受接口默认设置(VirtIO),然后点击Import...。目标文件夹为你之前解压的openwrt.img文件。
点击Save保存以上设置 .
root@openwrt:~# uci show network.lan network.lan=interface network.lan.device='br-lan' network.lan.proto='static' network.lan.ipaddr='192.168.1.1' network.lan.netmask='255.255.255.0' network.lan.ip6assign='60'
uci set network.lan.ipaddr='10.0.2.2' uci commit service network restart
vim /etc/config/network
进行修改后重启网络:
service network restart
opkg update && opkg install luci