The crowdfunding Asahi Linux project has published the first progress report detailing its effort to port Linux to the Apple Silicon platform with the M1 Macs. Apple’s new processor architecture is creating some difficulties…

In the blog post (via The Register), kernel hacker and Asahi Linux cofounder Hector Martin describes the challenges faced by the project in understanding how this new Apple chip works.

The project’s report gives a glimpse of Apple’s unique boot process, and the challenges to getting another operating system to run on the M1 Mac mini, the first Apple Silicon product Martin is trying to make Linux run.

The project began in January. For now, Martin has been able to write a custom bootloader named m1n1, which aims to take care of as many “Apple-isms” as possible.

Apple Silicon Macs boot in a completely different way from PCs. The way they work is more akin to embedded platforms (like Android phones, or, of course, iOS devices), but with quite a few bespoke mechanisms thrown in. However, Apple has taken a few steps to make this boot process feel closer to that of an Intel Mac, so there has been a lot of confusion around how things actually work. 

The m1n1 seems like the first part to get more than Linux running on the M1 but to do so while upstreaming his work to the mainline Linux kernel.

The Asahi Linux project isn’t the only effort to bring Linux to the Apple M1. Thanks to the new Corellium port of Ubuntu, you already can run Linux on the M1 Mac mini.

In the future, we will keep adding features to m1n1 to make it an even more powerful research tool. One particularly exciting goal is to turn it into a very thin VM hypervisor that can boot macOS, and intercept its accesses to the M1 hardware. This will allow us to investigate how Apple’s drivers work without having to disassemble them.

However, the current port still has some limitations, as you’ll probably need a USB-C dongle for internet connectivity when booted into Linux.

For now, if you want to know all the details about the Asahi Linux project, click here to read the full blog post.