This blog post details the author's journey booting Linux on an M4 Mac mini, thanking the Asahi Linux team and encouraging donations. In November 2024, the author bought an M4 Mac mini, hoping it would be similar to earlier Apple Silicon models. However, the M4 is the first generation to mandate SPT M (Secure Page Table Monitor), hardening against XNU kernel vulnerabilities, requiring major changes to the m1n1 hypervisor.
Despite challenges, the author attempted to boot Linux by disabling strict boot security and installing m1n1 via macOS recovery. Initial crashes were traced to disabled/locked GXF functionality and the RVBAR (Reset Vector Base Address Register), which already contained the correct value, so writes were skipped. After a long pause, motivation returned at the Chaos Communication Congress in late 2025.
The author created a minimal device tree and loaded the Linux kernel with earlycon, but saw no output after "Vectoring to next stage." Using a brute-force assembly routine printing 'a', they bisected the boot code to MMU initialization. The issue was that once the MMU is enabled, memory accesses go to virtual addresses, but Linux doesn't map the UART's MMIO space like m1n1 does, so the UART became inaccessible.
Source: Hacker News · Summarized by HeadlinesBriefing