The overall instructions are at here: https://gitlab.com/robotics-at-maryland/dev-env
Once you have the VM working you should follow the instructions there starting at "Log into the virtual machine".
## Install UTM
https://mac.getutm.app/
Click the "Download" button, not the App Store button.
## Create VM in UTM
If you have not done so already, download and unzip the ARM QEMU virtual machine base image: [ARM QEMU image](https://drive.google.com/file/d/1G6qDH6RR1IFY3ocR0L5MxBf93VmBh78Z/view?usp=sharing)
1) In the UTM app, on the top press the "+" icon
2) Press "Virtualize"
3) On the "Operating System" page press "Other"
4) Under "Advanced" check the "Skip ISO Boot" box and press "Continue"
5) On the "Hardware" page select the amount of RAM and CPU cores you want (the default is fine) and press "Continue"
6) On the "Storage" page select the amount of storage you want to allocate to your virtual machine (the default is fine)
7) On the "Shared Directory" page just press "Continue" (unless you want to set up shared directories between your host OS and the VM, which you probably don't)
8) On the "Summary" page just press "Save"
9) You will be redirected to the main UTM app page, from there, select the your virtual machine on the left, and then, in the top right corner there's a settings button, press that
10) Then, there will be a "New Drive" button on the bottom left, press it, then click "Import", select the ".qcow2" file and press "Open"
11) Your newly created drive will be the bottom-most entry under "Drives", click on it once, and then press the "Move Up" button until your newly created drive moves to be the top entry under "Drives"
12) Press "Save", then your virtual machine is ready to launch (press the big play button to launch)
## Setup clipboard sharing to copy and paste between the VM and your host OS
1) Once you launch the virtual machine, select the default user (titled "ram"), enter the password (the password is "password").
2) Press the "Command ⌘" key
3) Type "Terminal"
4) Click on "Terminal"
5) Type "sudo apt install spice-vdagent spice-webdavd"
6) Input your password (default is "password") and press Enter
7) Reboot the virtual machine.
8) Done. Now you can copy stuff from inside the Linux virtual machine. If "Control + C" doesn't work for you, try select text you want to copy, right click it, and select "Copy"
In the Terminal Control+C stops the currently running command, so if you want to do copy and paste you will need to right click or use Control+Shift+c and Control+Shift+v. In Ubuntu outside of the Terminal you still use Control+c.