Running SLE Micro on Apple Silicon has never been easier!
I have a confession to make. I’m working for a Linux company, but one of my work laptops is an Apple Silicon Mac. And I have a very solid reason for that: If you need to run Arm-based Linux like SUSE Linux Enterprise Micro (SLE Micro) for development or customer demos, Macs are the best choice. The second best choice would be Raspberry Pis, put performance-wise, Macs are playing in another league.
Let me show you in a few easy steps how you can start SLE Micro on the Mac.
You need a Mac (Mac mini, MacBook Air, MacBook Pro, iMac, doesn’t matter) with Apple Silicon. I’ve tried this with a MacBook Air with M1 chip and a MacBook Pro with M1 Pro, but later versions will work as well. For running a single virtual machine, even the base models will do. But if you want to run several machines at the same time, I recommend choosing at least 16 GB of RAM and one of the larger SSD options.
On a base model Mac, you may have to either add an external SSD or frequently delete old images if you want to run VMs on a regular basis.
Install a virtualisation tool
There are several options, but UTM is my choice. It’s simple, can be downloaded for free, and does just what you need. If you want to support the authors, you can also buy it through the Mac App Store, which I recommend.
Get the SLE Micro image
The fastest way of running SLE Micro is to download the disk image. You can find the latest version on www.suse.com. Make sure you pick the latest version, “Arm” as the hardware architecture, and then pick the file that ends with “raw.xz”. This is a so-called “raw image” that can be directly imported as a virtual disk by UTM later.
Uncompress the image
The image is compressed. So, before importing it into UTM, make sure you unpack it. Just double-click on it in Finder, and the Archive Utility will do its job.
Create a virtual machine
- Fire up UTM and click the [+] button to create a new virtual machine.
- Choose Virtualize.
- Choose “Other”. This is important because you aren’t going to do an installation.
- Check “Skip ISO boot” and continue. We don’t use an installation media, but start the pre-built disk image directly.
- Assign at least 2048 MB of memory. That’s enough for trying out SLE Micro and will leave you some RAM for MacOS even on smaller machines.
- Assign at least 2 CPU cores.
- On the next screen, assign, let’s say, 5 GB of storage. We’ll delete that disk later, so any number would work.
- You don’t need to configure a Shared Directory.
- On the Summary screen, check “Open VM Settings”.
- Now you can give your VM a nice name, for example “SLE Micro Demo”.
All other settings are ok. You may want to play around with some of them later. But before you leave the settings dialog …
Add the disk image
- Under Drives, first, delete the existing disk, then choose New.
- You can keep the disk size at 10 GB for now and choose Import.
- Now choose your decompressed raw image.
Run SLE Micro!
Yes, that’s it. You can now start the VM, and after a little while, you’ll see the first boot dialog of SLE Micro. This is where you configure your timezone and keyboard preferences and define the password for the root user.
But wait, even that step can be simplified. I recommend doing that especially if you want to repeat the process with several VMs or always want to try out the latest and greatest versions:
SLE Micro is using a set of tools called Ignition and Combustion that help you with automatically configuring your system. This is most important if you can’t actually log in to a system because it is “headless” (has no screen and keyboard attached).
The easiest way of preparing such a configuration profile is to use the Fuel Ignition tool:
- Choose CREATE NEW CONFIG
- Add a root user.
- You can find lots of other useful options in the Ignition Docs
- Once you’re done, use the Convert and Download button to download a ready-to-use filesystem image that you can add to your virtual machine(s). This works just like adding the raw image for SLE Micro.
At first boot, the virtual machine will now automatically find and apply the configuration!