Running Linux on Intel-based Macs is relatively easy. Now that Apple is transitioning to its own silicon, it is no longer so straightforward. Although the M1 SoCs are Arm-based processors, and there are Arm versions of Linux available, components on the new Apple chips don’t play well with current Linux distos.
Apple has not made dual-booting easy on its newest Arm-based computers. While there are Linux distros designed to run on Arm hardware, Apple silicon is a different breed. However, Security researchers at Corellium have a working Linux port for Apple’s M1 Macs.
The operating system Corellium developed is an Arm-based Ubuntu distro that boots from a USB drive, but it is not as simple as plug-and-play. The main hurdle to getting Linux running on the M1 is hardware drivers.
“When writing Linux drivers, it became very apparent how non-standard Apple SoCs really are,” Corellium wrote in a very detailed blog post describing the project. “Our virtual environment is extremely flexible in terms of models it can accommodate, but on the Linux side, the 64-bit ARM world has largely settled on a well-defined set of building blocks and firmware interfaces – nearly none of which were used on the M1.”
Corellium CTO Chris Wade tweeted that the Linux on M1 proof-of-concept has been tested on the M1 Mac Mini and is “completely usable.” Although, he notes that networking requires the use of a USB-C dongle. Users will also need to know their way around Linux and customs kernels to get ports set up. Wade mentioned that they have a tutorial, which was just added to the blog post a bit ago.
If you are interested in trying Linux out on your new M1 Mac, you will need the Ubuntu POC rootfs and, at minimum, a 16GB USB drive. Corellium posted the files and instructions to its website. Keep in mind this project is a work in progress and has only been tested on the Mac Mini, so mileage and bugs may vary.