A few weeks ago, I told you that the M1 Mac mini was pretty awesome but that shortly after getting it, it got into a boot loop. Eventually, I ended up in System Recovery and it seemed to ask me to reinstall the operating system. I think I know now why that happened and I’m pretty sure I didn’t need to reinstall the OS after all.
I think I left you with a discouraging view of the M1 Mac mini and that really wasn’t fair. I’m still super excited about the speed, and I notice that speed in unexpected ways. For example, deleting files is like using a bug zapper. I never thought of deleting files as a slow operation, but with the M1 the files seem to vaporize. It’s so fun it makes me want to delete more files. Another thing I’ve noticed is that is how instantaneous it is to send an email from Mail.app. It’s so fast you might actually think it failed to send! I also really like the look and feel of Big Sur.
I’ve started using the Mac mini for as many tasks as I can. Instead of my normal, incredibly disciplined method of going through my iThoughts mind map https://www.toketaware.com, and marching through installing my mission-critical apps, I’ve just been flinging apps on the Mac mini as I have the need. At some point, I’ll go back to the mind map and figure out if I need to rearrange what I really think is mission-critical. I need to keep that mind map up to date for when I eventually do a clean install of Big Sur on my 16″ MacBook Pro.
When a Kernel Extension isn’t a Kernel Extension
I’ve mentioned many times that my most mission-critical software is everything Rogue Amoeba sells. You wouldn’t hear the podcast without Audio Hijack, I wouldn’t be able to control my audio in the live show without SoundSource, and I wouldn’t be able to route my microphone and my audio recording software to the live show without Loopback. Not only are these apps mission-critical, but they’re also super fun to reinstall because they throw confetti when you enter your license registration. I wish all apps did that.
All of Rogue Amoeba’s apps require something called Audio Capture Engine, or ACE. ACE is the secret sauce that lets you hijack audio from Safari and record the sound, and combine apps and physical devices into virtual audio sources. In other words, ACE is a mission-critical component for everything I do to create the podcasts.
ACE is not a kernel extension, and I can’t tell you exactly what it is. But I can tell you that Apple treats it as a kernel extension. Kernel extensions operate at the very lowest level of the operating system, also known as the kernel. Apple has been slowly but surely locking down the method for applications to access the kernel, and in macOS Big Sur they’ve taken it even further. If you’re on an M1 Mac with Big Sur, it requires quite a digital dance to enable a kernel extension.
My brand-spanking-new Universal Audio Apollo Solo Thunderbolt interface for my microphone has drivers that are real kernel extensions. The Apollo Solo is not yet certified to work with the M1, but I still wanted to bleed on the edge and see if it would work.
It was clear I needed to know how to install kernel extensions to run the podcast from an M1 Mac. Rogue Amoeba provided a step-by-step guide on how to enable ACE on an Intel Mac and on an M1 Mac with the new digital dance. On the Intel Macs, you simply have to enable the extension from Rogue Amoeba in System Preferences and do a reboot and you’re done. But on the M1 Macs, it’s quite a bit more complicated.
On the M1s, you shut down the Mac, and then boot into Recovery. That means holding down the power button on a Mac mini or the Touch ID button on a notebook until it reboots. From there you choose Utilities and Startup Security Utility. By default the Startup Security is set to Full Security:
Ensures that only your current OS, or signed operating system software currently trusted by Apple, can run. This mode requires a network connection at software installation time.
This mode doesn’t allow us to install kernel extensions. Instead, we need to switch to Reduced Security, which gives us an option to:
Allow user management of kernel extensions from identified developers
At first this sounds like a really bad idea, but keep in mind two things. This reduced security is the same level of security as Catalina. But what if you want your cake and to eat it too – you want the increased level of security of Big Sur, but you also want to run your kernel extension? I learned from Paul Kafasis, CEO of Rogue Amoeba, that you can, after rebooting to install the kernel extension, boot into Recovery again and set the security back up to Full Security.
Bart and I got into an interesting discussion about whether or not to put it back to Full Security. I assumed that would be Bart’s recommendation, but he said he’d probably leave it at Reduced Security. He had a perfectly reasonable explanation of why. His personal machine is a 27″ iMac with a Fusion drive. That means he avoids rebooting at all costs. He runs weeks and weeks without rebooting. For his situation, ever having to reboot to flip that switch to Reduced Security and back is a non-starter. With the M1 and the fastest SSD I’ve ever used, rebooting for me is only a matter of a few minutes.
Make your own decision on this one, based on your tolerance for reboot times and your security preferences.
Boot Loop a-go-go
Now back to my story. After following Rogue Amoeba’s instructions on rebooting and changing the security policy (also see Apple’s Instructions), I needed to reboot to have the changes take effect. But when I rebooted, I ended up in that boot loop I told you about last time. I pinged Steven Goetz this time around, and he found some articles saying that the M1s sometimes get confused about their startup disk. The last time I ran into this I went to Recovery and this is where I got confused and reinstalled the OS. I definitely did not have to do that.
Steven suggested I get back into Recovery and look for the option to set the Startup Disk. When I opened Startup Disk, it showed that I had two disks mounted: the M1’s internal disk, and a bootable backup SSD of Catalina.
I initially assumed that the M1 was confused by this Catalina volume and that’s why it didn’t know from which volume to boot. I actively chose the internal volume as the startup disk, unmounted the Catalina volume, and restarted and all was right with the world. However, a few days later I needed to reboot again, and even without the Catalina volume mounted, I got into the boot loop and had to go into Recovery and tell it to boot from the only volume it could now see.
You can imagine that I really hesitate to reboot this Mac, but I think I found a way to force it to reboot properly. In System Preferences, Startup Disk, if you unlock to make changes, you are given a Restart button. If I use that restart option, the M1 doesn’t get into the boot loop. I’m not sure I’ll ever know if the problem is fixed in an update to macOS, because I hate that boot loop so much I’ll probably keep using the Startup Disk trick forever to reboot.
In case you’re wondering, installing the kernel extension for my fancy pants new mic interface didn’t work, so I guess they were serious about not certifying it yet. I’m loving this new M1 so much though that I pulled out my trusty Shure Mvi USB mic interface and I’m using that instead so I can play with the new hotness. I’m not certain that the baggage that comes with that Thunderbolt interface from Universal Audio is worth it for the slightly cleaner audio and zero latency.
But the M1 is as dreamy as I hoped it would be, and I’m really liking almost everything about macOS Big Sur.