Hacker News Digest

02 октября 2026 г. в 14:22 • yuka.dev • ⭐ 230 • 💬 149

Original • HN

#asahi-linux#debug-putc#earlycon#linux#m1n1#m4#mac-mini#risc-v#sptm#wfi

The Forgetful CPU (Linux on M4)

Попытка запустить Linux на Mac mini с чипом M4 столкнулась с неожиданными трудностями из-за новой технологии SPTM — механизма защиты, который блокирует прямой доступ к аппаратным ресурсам, использовавшийся в ранних версиях Asahi Linux. В отличие от M1–M3, где можно было анализировать MMIO-трафик macOS, здесь требовалась глубокая модификация гипервизора m1n1, что вышло за рамки возможностей новичка. Однако автору удалось обойти проблему: отключив строгую безопасность загрузки, установив m1n1 через восстановление macOS и получив доступ к последовательному порту, он начал эксперименты с загрузкой ядра.

Первым барьером оказался заблокированный GXF — компонент, отвечающий за безопасность исключений, который на M4 отключён в режиме raw boot. Затем выяснилось, что регистр RVBAR, задающий точку входа для ядра, уже содержит корректное значение — попытки его перезаписать вызывали сбой. После долгого перерыва автор добился первого вывода через debug_putc, внедрив минимальное устройство дерева и включив earlycon. Ключевым прорывом стало обнаружение, что процессоры M4 теряют состояние при выполнении команды WFI (Wait For Interrupt), что приводило к зависанию. Исправление потребовало патча для m1n1 и ядра Linux, отключающего WFI в ранней стадии загрузки — после этого система начала выводить логи, и Linux наконец заработал.