2024年11月、開発者のYureka Lilian氏はM4 Mac miniを購入し、M1〜M3のApple Siliconマシンと同様に振る舞い、Asahi Linuxでのサポートが早期に得られると期待していた。しかし、そうならなかった。M4は、macOSのXNUカーネルを脆弱性から守るためのSPTM(Secure Page Table Monitor)を必須とする初のApple Silicon世代である。それ以前の世代のLinux移植は、m1n1ハイパーバイザーで取得したメモリマップドI/Oのトレースに基づいていたが、M4ではm1n1を大幅に変更しない限り、そうしたトレースを取得できない。それを単独でやり遂げるのは、この分野の初心者には荷が重かったため、Lilian氏はLinuxブートを並行して追求する道を選んだ。
最初のブート試行は、即座にレジスタがロックされている問題にぶつかった。M4クラスのチップでは、生のブートモードにおいてGXF(Guarded Exception Levels)が無効になっているため、これを初期化しようとするとクラッシュする。正しい対処は、この初期化を条件付きにしてスキップすることだった。各CPUコアの実行開始アドレスを指定するRVBAR(Reset Vector Base Address Register)への書き込みもクラッシュを招いたが、レジスタにはすでに正しい値が入っていたため、この書き込みを省略する必要があった。数ヶ月間、earlyconブートパラメータを指定してもシリアル出力が空のままだった。デバイスツリーにstdout-path = "serial0";が単に欠けていただけで、これを追加すると、Linuxは早期クラッシュ時にフルレジスタダンプとスタックトレースを出力するようになった。
このシリアル出力によって、ブルートフォース的なデバッグアプローチが可能になった。Lilian氏は、単に「a」を1文字出力する最小限のdebug_putcルーチンを挿入し、ブートシーケンスを二分探索した。出力ポイントはMMUが有効になると停止した。UARTはメモリマップドI/Oであり、MMUがオンになると、メモリアクセスがページテーブルを通じて仮想アドレスに変換されるが、LinuxはMMIO空間を1対1でマップしていないからである。初期ページテーブルに1:1のMMIOマッピングを追加すると、動作する出力ポイントがさらに先へ進み、今度は実装固有のレジスタSYS_IMP_APL_VM_TMR_FIQ_ENA_EL2への書き込みで失敗するようになった。これは仮想化に関連するレジスタである。この書き込みをコメントアウトすると、カーネルがシェルまで到達した。その後、新しいiBootリリースでこのレジスタがアンロックされたため、この回避策は不要になっている。
真の障壁は、セカンダリコアとWFI(wait-for-interrupt)命令だった。M1〜M3では、ARM64_REG_CYC_OVRD_ok2pwrdn_force_maskというベンダー制御ビットによってWFIがすべての汎用レジスタをゼロクリアする挙動となっていた。XNUはこの命令の前後でレジスタを保存・復元し、m1n1はこの癖を無効化してCPUを通常のarm64プロセッサのように振る舞わせていた。Asahi Linuxは後になってこの挙動を再有効化し、コアがより深いスリープに入って省電力できるようにした。M4ではこのビットがロックまたは削除されたようで、デフォルト挙動がARM64仕様に違反している。WFIが完了した場合、アーキテクチャの状態を失わせてはならないからである。2026年4月、Lilian氏はカーネル内のすべてのWFIおよびWFIT命令をNOP(no-op)命令で置き換えることで、M4上で全コア有効な状態でLinuxをブートさせた。

スクリーンショットはM4 Mac miniがNixOSを起動した様子を示すが、cpuinfoがコア1つしか報告しておらず、M4チップにおけるWFI命令の癖が原因でセカンダリコアのブートが失敗していることを物語っている。
早期ブート時にカーネルをメモリ上でパッチするという、シリコンエラッタへの標準的な対処ではなく、これを採用しなかったのは、WFIをNOPにすべきケースを確実に検出することが困難だからだ。macOSハイパーバイザーの下で動作する仮想マシンでは同じコードパスを通るが、そこではハイパーバイザーがWFIをトラップしてゲストを効率的にスケジュールしている。Will Deacon氏は別の修正を提案した。カーネルに新しいidleブート引数idle=<wfi|yield|nop>を追加し、m1n1が、壊れたWFIを持つベアメタルハードウェアでブートする際にのみ、適切な引数を条件付きで注入するようにするというものだ。Lilian氏によれば、WFIおよびWFITでLinuxがクラッシュするのを防ぐこの仕組みが、メインラインLinuxとm1n1の両方にマージされたため、両方の最新リリースではM4 Macでセカンダリコア付きのネイティブブートが可能になっている。同じ回避策はM4 Pro、M4 Max、M5チップでも機能する。
この作業はプライベートフォークに留めるのではなく、アップストリームプロジェクトに直接提案されているため、誰でも利用できる。M4の周辺機器リバースエンジニアリング—カメラ、ディスプレイコントローラー、GPU初期化—はよりゆっくりと進んでおり、さらなる作業はm1n1がデバイス上でmacOSをブートしトレースできるようになることに依存すると見られる。Lilian氏はまた、十分な資金を持つアップストリームプロジェクトが、この種のアップストリーム進捗をどう活用しているかについて、より透明性のある報告を行ってほしいと述べており、LiberaPayやGitHub Sponsorsでの支援、およびAsahi Open Collectiveへの寄付を呼びかけている。