The M1 Mac and other non x64 systems will not be able to directly run the provided virtual machine images (at least at the time of writing). VMWare is working on support emulating x64 on ARM, but in the meanwhile you need to perform some adjustments yourself.
This is a bit different in UTM. The default network driver is Shared Network so the VM will get its own IP.
This will change the Week 5 Jupyter address from localhost:8888
to something like http://192.168.64.4:8888/
.
You can find out the ip address with ip address
.
This will only work with images coming in .ova
format so the Kali VM will not work .vmwarevm
.
The images can only consist of one .vmdk
image, otherwise the scripts need some changes.
This uses around 3-4 times the image size of disk space while converting so make sure you have enough.
Fairly straightforward and should work on any linux based machine with Docker
- Docker install link
tar
command (should be available by default)
Do this for both course VM images
- Download both the Week 1-4,6 and Week 5 VMs in OVA format
- Move the VM
.ova
image to this folder - Run
sh create-qcow.sh image_name.ova
- Replace
image_name
with the actual name
- Replace
- You will get the
image_name.ova.qcow2
as output
This might run a bit faster, but will be more annoying to set up if you do not have the pre-requisites
- UTM Virtualization/Emulation Software install link
- Downloading from the page is free
- Install this before starting anything else
tar
commandqemu-img
command (via homebrew etc.)
Do this for both course VM images
- Download both the Week 1-4,6 and Week 5 VMs in OVA format
- Extract
.vmdk
disk images from the.ova
filestar -xvf image_name.ova
- Replace
image_name
with the downloaded VM name
- Replace
- Convert the images into
qcow2
formatqemu-img convert -c -O qcow2 original_name.vmdk new_name.qcow2
- Replace
original_name
with the extracted.vmdk
name andnew_name
with something memorable - The
-c
option enables compression making the resulting image MUCH smaller - The
-O qcow2
argument sets the output format
- Replace
- After saving the
.qcow2
images you can feel free to delete the other files- It might be useful to keep everything until you get the VM running in case any errors happen
Do this whole process for both of the VM images
- Open UTM
- New Virtual Machine via Emulate
- Choose Other operating system
- Check skip ISO boot option and continue
- Make sure the architecture is
x86_64
and use the default settings- You can increase the memory to up to 40% of host memory (save some for qemu JIT cache)
- Let the CPU cores option stay as default or empty
- Specify a very small disk as this will be deleted later
- Continue until you reach the final dialog displaying your configuration
- You can choose to share a folder with the VM. This is optional but helps with file transfer
- Check Show VM Settings and finish the setup
- In the VM settings perform the following adjustments
- Go to the QEMU tab and un-check UEFI Boot
- On the left side of the VM settings find your Drives and select the default one
- Delete the default disk
- Create a new disk by clicking New Drive and select Import... and find your
qcow2
file - Make sure the new disk type is Disk Image and interface IDE
- Start the VM
These require additional software that might not be present on the virtual machines
- SPICE guest agent
spice-vdagent
- SPICE WebDAV
spice-webdavd