I've had to create a Red Hat 9.4 virtual machine on my M1 Max MacBook using UTM ( https://mac.getutm.app ). Because this is an ARM architecture machine, I used UTM because it would use Apple Silicon's native virtualization support, and I installed the aarch64 version of Red Hat Enterprise Linux 9.4 so that it would be truly virtualized, not emulated.
So far the virtualization works flawlessly. Unfortunately for me and my work, the reason for installing it, to provide a RHEL environment for some work I'm doing, is a failure because the software I need to run under RHEL is only available for x86-64, not aarch64. Not everyone is rushing to embrace the future, especially with regards to processor architectures. It now appears that far too many vendors are refusing to support ARM systems, which is a sad state of affairs considering everyone is trying to install as much ARM-based silicon in their clouds; consider for example that AWS released Graviton 4, a 96 core beast that consumes far less power than Intel or AMD for the same workloads.
Anyway, this modest post documents how to set up UTM to install and then run aarch64 RHEL 9.4 on Apple Silicon M1 Max and a MacBook Pro. I'm going to leave the acquisition and installation of UTM as an exercise to the reader. It is open source, so you can either download a free copy from UTM's website, or else use the App Store to purchase a permanent copy for $9.99. Using the App Store helps the UTM developers to help keep the lights on, and provides you, the user, a way to get automatic updates through the App Store.
After acquiring and installing UTM, you also need to get a copy of Red Hat's Enterprise Linux to install. You can also do that for free by registering as a developer. You can download and install up to six copies for personal use. I've installed three so far, one under UTM and the other two using Parallels on another MacBook Pro running with an Intel i9. I wrote about that machine earlier, and called it the Beast.
With all the bits in place, it's time to configure UTM and get RHEL installed on it. Again, installing the RHEL ISO isn't that difficult, but the configuration can be somewhat perplexing. These settings work fine for me, and might work fine for you. But at least they're a starting point.
I enabled everything on the virtualization tab except Rosetta on Linux. Remember this RHEL is aarch64. I have no idea how RHEL under x86_64 emulation might operate, and I don't ever intend to find out. Also note that keyboard and pointer support are Mac keyboard and trackpad. The defaults are generic, and they don't quite work as well.
I had absolutely no idea where to start with the display, so I had to play around with this for awhile before I found the value shown above. I can now shut down the VM window, and when I start it back up it will be at the correct size and resolution. Getting to this point was aggravating.
Finally we come to the networking. I found these settings on a forum posting, and discovered they work well for my setup. For one thing network traffic between my native MacBook Pro and the RHEL VM stay on my machine.
One nice note: power consumption at idle, especially inside the RHEL VM, is at an absolute minimum.
I'm still amazed at the power of Apple Silicon. With UTM installed I will probably start looking at other versions of Linux compiled natively for aarch64 under UTM.
No comments:
Post a Comment