| Next revision | Previous revision |
| docs:guide-user:virtualization:utm [2023/10/21 15:01] – created atownlede | docs:guide-user:virtualization:utm [2024/01/15 14:09] (current) – [Select an OpenWrt image] improves readability joshenders |
|---|
| In the guide we'll use //openwrt-armsr-armv8-generic-ext4-combined.img.gz// because it supports sysupgrade. | In the guide we'll use //openwrt-armsr-armv8-generic-ext4-combined.img.gz// because it supports sysupgrade. |
| |
| * Download a stable release of the //generic-ext4-combined.img.gz// | * Download a stable release of the //generic-ext4-combined.img.gz// image from [[https://downloads.openwrt.org/releases/|targets/armsr/arvm8/ folder]], e.g. [[https://downloads.openwrt.org/releases/23.05.2/targets/armsr/armv8/openwrt-23.05.2-armsr-armv8-generic-ext4-combined.img.gz|23.05.2]]. |
| * image from | * Or you can try a more recent but experimental [[https://downloads.openwrt.org/snapshots/targets/armsr/armv8/openwrt-armsr-armv8-generic-ext4-combined.img.gz|snapshot]] image. |
| * [[https://downloads.openwrt.org/releases/|targets/armsr/arvm8/ | |
| * folder]] | |
| * e.g. [[https://downloads.openwrt.org/releases/23.05.0/targets/armsr/armv8/openwrt-23.05.0-armsr-armv8-generic-ext4-combined.img.gz|23.05.0]]. | |
| * Or you can try the fresher but unstable [[https://downloads.openwrt.org/snapshots/targets/armsr/armv8/openwrt-armsr-armv8-generic-ext4-combined.img.gz|snapshot]] image. | |
| * Uncompress the gzip'ed img file. On macOS in a Terminal window use the command ''gzcat openwrt-*ext4-combined.img.gz > openwrt.img''. As a result you get the raw ''openwrt.img'' image file. | * Uncompress the gzip'ed img file. On macOS in a Terminal window use the command ''gzcat openwrt-*ext4-combined.img.gz > openwrt.img''. As a result you get the raw ''openwrt.img'' image file. |
| |
| :!: Tutorial and screenshots from UTM 4.4.4 on Apple Silicon | :!: Tutorial and screenshots from UTM 4.4.4 on Apple Silicon |
| |
| {{media:virtualization:utm:1-utmstart.png?direct&70 |}} Start UTM and click //Create a new Virtual Machine// | {{media:virtualization:utm:1-utmstart.png?direct&70}} Start UTM and click //Create a new Virtual Machine// |
| ---- | ---- |
| {{media:virtualization:utm:2-virtualize.png?direct&70 |}} Select //Virtualize// | {{media:virtualization:utm:2-virtualize.png?direct&70}} Select //Virtualize// |
| ---- | ---- |
| {{media:virtualization:utm:3-other.png?direct&70 |}} Select //Other// (because the //Linux// install path assumes an install ISO image, which we are not using for OpenWrt) | {{media:virtualization:utm:3-other.png?direct&70}} Select //Other// (because the //Linux// install path assumes an install ISO image, which we are not using for OpenWrt) |
| ---- | ---- |
| {{media:virtualization:utm:4-no-iso-boot.png?direct&70 |}} Check the //Skip ISO boot// box | {{media:virtualization:utm:4-no-iso-boot.png?direct&70}} Check the //Skip ISO boot// box |
| ---- | ---- |
| {{media:virtualization:utm:5-cpu-memory.png?direct&70 |}} Configure 512MB and 2 CPUs (enough memory for running sysupgrade later) | {{media:virtualization:utm:5-cpu-memory.png?direct&70}} Configure 512MB and 2 CPUs (enough memory for running sysupgrade later) |
| ---- | ---- |
| {{media:virtualization:utm:6-storage.png?direct&70 |}} Accept the default storage setting (we will remove this drive later and replace it with the OpenWrt image) | {{media:virtualization:utm:6-storage.png?direct&70}} Accept the default storage setting (we will remove this drive later and replace it with the OpenWrt image) |
| ---- | ---- |
| {{media:virtualization:utm:7-shared.png?direct&70 |}} Leave the shared directory configuration blank | {{media:virtualization:utm:7-shared.png?direct&70}} Leave the shared directory configuration blank |
| ---- | ---- |
| {{media:virtualization:utm:8-summary.png?direct&70 |}} Check the //Open VM Settings// box. Fill in a name for the VM. Click //Save//. This brings you to the VM settings page. | {{media:virtualization:utm:8-summary.png?direct&70}} Check the //Open VM Settings// box. Fill in a name for the VM. Click //Save//. This brings you to the VM settings page. |
| ---- | ---- |
| ==== VM configuration ==== | ==== VM configuration ==== |
| |
| === VM settings === | === VM settings === |
| Remove unused devices. | == Remove unused devices == |
| |
| {{media:virtualization:utm:10-remove.png?direct&70 |}} | {{media:virtualization:utm:10-remove.png?direct&70}} |
| Control-click on //Display// and remove it. Control-click on //Sound// and remove it. Control-click on the //VirtIO Drive// and remove it. Confirm deleting the drive with //Delete//. (This is the blank disk that UTM creates during VM creation. We don't need it.) | Control-click on //Display// and remove it. Control-click on //Sound// and remove it. Control-click on the //VirtIO Drive// and remove it. Confirm deleting the drive with //Delete//. (This is the blank disk that UTM creates during VM creation. We don't need it.) |
| ---- | ---- |
| |
| Network Settings. | == Network Settings == |
| |
| {{media:virtualization:utm:11-host-only.png?direct&70 |}} Select //Network//. Change the Network Mode to //Host Only//. Check the //Show Advanced Settings// box. In the //Guest Network// box, type in the network range for the VM's LAN: //10.0.2.0/24//. | {{media:virtualization:utm:11-host-only.png?direct&70}} Select //Network//. Change the Network Mode to //Host Only//. Check the //Show Advanced Settings// box. In the //Guest Network// box, type in the network range for the VM's LAN: //10.0.2.0/24//. |
| ---- | ---- |
| |
| {{media:virtualization:utm:12-wan.png?direct&70 |}} Under Devices, click the //+New// entry and add a new //Network//. Click on the network and confirm it is configured as //Shared Network//. | {{media:virtualization:utm:12-wan.png?direct&70}} Under Devices, click the //+New// entry and add a new //Network//. Click on the network and confirm it is configured as //Shared Network//. |
| ---- | ---- |
| |
| Other Device Settings. | == Other Device Settings == |
| |
| {{media:virtualization:utm:13-serial.png?direct&70 |}} Under click the | {{media:virtualization:utm:13-serial.png?direct&70}} Under Devices, click the |
| //+New// entry and add a new //Serial// device. Click on the Serial | //+New// entry and add a new //Serial// device. Click on the Serial |
| device and check the mode. The default is a built-in terminal | device and check the mode. The default is a built-in terminal |
| ---- | ---- |
| |
| {{media:virtualization:utm:14-disk.png?direct&70 |}} Under the //Drives// | {{media:virtualization:utm:14-disk.png?direct&70}} Under the //Drives// |
| section, select //New...//. Accept the interface default (VirtIO) and | section, select //New...//. Accept the interface default (VirtIO) and |
| click on //Import...//. Navigate to the ''openwrt.img'' file you | click on //Import...//. Navigate to the ''openwrt.img'' file you |
| * Wait 4 seconds for GRUB to boot automatically | * Wait 4 seconds for GRUB to boot automatically |
| * Press Enter to activate the console when the boot messages have finished scrolling by. | * Press Enter to activate the console when the boot messages have finished scrolling by. |
| * Display the current LAN network configuration. Note that the default LAN address of 192.168.1.1 is present on first boot.\\ | * Display the current LAN network configuration. Note that the default LAN address of 192.168.1.1 is present on first boot.<code>root@openwrt:~# uci show network.lan |
| <code>root@openwrt:~# uci show network.lan | |
| network.lan=interface | network.lan=interface |
| network.lan.device='br-lan' | network.lan.device='br-lan' |
| network.lan.netmask='255.255.255.0' | network.lan.netmask='255.255.255.0' |
| network.lan.ip6assign='60'</code> | network.lan.ip6assign='60'</code> |
| * Edit the network configuration to allow SSH access by pasting these commands into the console: | * Edit the network configuration to allow SSH access by pasting these commands into the console:<code>uci set network.lan.ipaddr='10.0.2.2' |
| <code>uci set network.lan.ipaddr='10.0.2.2' | |
| uci commit | uci commit |
| service network restart</code> | service network restart</code> |
| ===== See also ===== | ===== See also ===== |
| * [[docs:guide-user:virtualization:start|Other virtualization options]]: Docker, VMware etc. | * [[docs:guide-user:virtualization:start|Other virtualization options]]: Docker, VMware etc. |
| | * [[docs:guide-user:virtualization:fusion|VMware Fusion]]: Configuring on a VM hosted on VMware Fusion |
| |