When I got my new MAC for work I was surprised at how difficult it was to get an Ubuntu VM running and abandoned my first efforts and ended up making a QEMU vm with UTM as it was alot less friction to get it running.
The point of this post is to both document how I eventually got an Ubuntu VM working, but also to consolidate information spread across a bunch of posts into one place and make it easier for people to follow a step by step set of instructions and quickly get a VM running.
A few caveats to start with. This assumes you have Fusion Tech Preview installed, and have some idea how to use Linux cli etc. I've only been successful so far with Ubuntu 20.04. (other versions may work, but this tutorial will focus on the 20.04 LTS ver of Ubuntu) We will be starting with the Server for ARM edition of the software as it was the easiest one to find thats an ARM edition of the software and has a kernel old enough to still work. Don't worry I'll show you how to build the Desktop environment your used to, its dirt simple 2-3 commands max. I got you bro 😄
sudo dpkg-reconfigure unattended-upgrades
sudo apt-mark hold linux-image-generic linux-headers-generic
sudo apt update && sudo apt upgrade sudo reboot
sudo apt install tasksel sudo tasksel install ubuntu-desktop
sudo apt install -y open-vm-tools-desktop sudo reboot now
sudo nano /etc/gdm3/custom.conf
sudo systemctl restart gdm3
mkdir kernel_upgrade cd kernel_upgrade
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.14/amd64/linux-headers-5.14.0-051400_5.14.0-051400.202108292331_all.deb https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.14/arm64/linux-image-unsigned-5.14.0-051400-generic_5.14.0-051400.202108292331_arm64.deb https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.14/arm64/linux-modules-5.14.0-051400-generic_5.14.0-051400.202108292331_arm64.deb
sudo dpkg -i *.deb
Sorry about the goofy spacing in the article, this is about the best I can do with this automated markup editor... Again feel free to chime in if I missed something in the directions, or there is a better way to do something. I hope that this helps someone. Happy Tuesday!
Thanks a lot for taking the time to write these instructions! It worked for me. This step:
sudo tasksel ubuntu-desktop
didn't work for me, but entering "sudo tasksel" and selecting Ubuntu Desktop did.
Hopefully VMware will provide an update to the Fusion M1 Preview Edition in June to support newer kernels
Brilliant work, thanks so much for putting all of this together. Has anyone else struggled to get full screen resolution to work? In full screen, my resolution stays at a low 4:3 ratio. I confirmed that vmtools is working because I can copy across host to guest. Is there a step I've missed along the way?
Sorry, y'all. I hadn't done all of the reading yet. This is a known issue. This discussion covers it: https://communities.vmware.com/t5/Fusion-for-Apple-Silicon-Tech/Ubuntu-Desktop-20-04-3-LTS-resolutio...
The issue isn't that we don't support newer kernels, it's that there's a bug in Linux that hasn't been picked up by various distros yet.
I'm testing 5.17, 5.18 all day long, they work great so long as they don't have this bug.
You can verify that the fix it's not in Ubuntu kernels at all by comparing the patched fbmem.c and the one that Ubuntu is using.
@mhawkshaw -- My apologies I screwed up the command when I typed the article here. The correct command is:
sudo tasksel install ubuntu-desktop
Thank you for the feedback, I fixed the original post to reflect the correct command.