Apple M4 ломает Linux: старые трюки больше не работают

Добро пожаловать на наш форум!

Спасибо за посещение нашего сообщества. Пожалуйста, зарегистрируйтесь или войдите, чтобы получить доступ ко всем функциям.


Gibby

Автор
Команда проекта

Регистрация
Сообщений
1,971
Репутация
53
Сделок
Asahi столкнулся с «невидимым» барьером в M4

8.jpg

Один из ключевых разработчиков Asahi Linux Свен Петер, активно работающий над поддержкой чипов Apple Silicon в ядре Linux, сообщил о серьезных трудностях с обеспечением совместимости нового процессора Apple M4.

На своей странице в Mastodon он написал , что добавление поддержки Apple M4 в Linux обещает быть «довольно болезненным» — и всё из-за изменений в архитектуре по сравнению с предыдущими поколениями M1 и M2. Сейчас команда Asahi Linux продолжает сосредотачиваться на том, чтобы довести до ума поддержку этих более ранних чипов и внести соответствующий код в основную ветку ядра Linux. Тем временем энтузиасты уже начали экспериментировать с M4, и наткнулись на серьезные препятствия.

Проблема кроется в том, как Apple реализовала механизм загрузки. При попытке загрузки через формат Mach-O разработчики сталкиваются с тем, что система безопасности Apple — SPTM — уже активна и работает на уровне GL2. При этом Linux должен взаимодействовать с ней с уровня EL2, причём с уже включённым MMU (модулем управления памятью), чтобы настроить таблицы страниц. Такая схема несовместима ни с Linux, ни с гипервизором, под которым команда Asahi обычно запускает macOS (XNU) для изучения аппаратных особенностей.

Другой способ — загрузка в "сыром" формате — позволяет сразу перейти в нужный режим (EL2 с GL2), что, в принципе, подходит для Linux. Но в таком состоянии невозможно запустить macOS под гипервизором — а без этого почти невозможно анализировать и разрабатывать поддержку нового «железа». Более того, этот режим в прошивке, начиная с версии 15.2, скорее всего, плохо протестирован и просто не работает должным образом.

Все эти ограничения серьёзно усложняют задачу: чтобы разобраться, как устроен M4, нужно запускать macOS в виртуальной среде, но Apple, по сути, перекрыла этот путь. В результате ждать полноценной поддержки Apple M4 (и, скорее всего, M3) в Linux в ближайшее время не стоит. Пока все усилия разработчиков сосредоточены на завершении поддержки M1 и M2. Что ж, остаётся только наблюдать за развитием событий и надеяться, что рано или поздно путь к Apple M4 будет найден.
 
Сверху