Компания Apple представила первые компьютеры на базе процессоров M1 собственной разработки. Разработчик Гектор Мартин решил создать сборку Linux специально для этих компьютеров.
Asahi Linux для Mac
Команда Мартина уже представила название системы Asahi Linux и запустила сайт проекта. В переводе с японского «асахи» означает «восходящее солнце». Кроме того, в стране популярен сорт яблок асахи ринго – это аналогия с сортом макинтош, в честь которых названы компьютеры Мас.
Проект адаптации Linux для Maс на Apple Silicon М1 с ARM-архитектурой краудфандинговый. Средства на него Мартин собирает на платформе Patreon. Расходы команды в месяц – 4 тыс. долларов: этого должно хватить на покупку устройств на базе М1 для исследований и реверс-инжиниринга, а также для оплаты рабочего времени специалистов. На момент написания статьи он привлек 62% от нужной суммы.
Особенности решения
Разработчик пообещал выкладывать код на GitHub. Проект открытый и будет иметь двойную лицензию GPL и MIT. Таким образом, его можно будет использовать и для создания других ОС. По словам Мартина, юридических претензий от Apple по этому поводу не будет.
Сейчас в репозитории можно увидеть сравнение загрузки системы на Apple Silicon и на ПК. по словам Мартина, iBoot и Recovery отчасти похожи на UEFI, «продвинутый» BIOS для современных систем.
Вместе с тем твердотельные накопители компьютеров Мас на M1 содержат загрузочные компоненты и операционную систему, установленную на машине. Это отличается от машин с UEFI: здесь скорее можно провести аналогию с частью флеш-памяти микропрограмм UEFI (так как конфигурация хранится на твердотельном накопителе) и главным устройством NVMe, с которого стартует загрузчик, а затем и сама система. Таким образом, решение ближе к модели Android-устройств.
При этом SSD использует GPT, как и диски в большинстве систем UEFI. В первом разделе хранятся данные для загрузки ОС, конфигурации, а иногда и прошивки. Это напоминает системный раздел EFI (ESP).
Отдельная микросхема флеш-памяти, NOR flash, содержит прошивку UEFI. В ней хранится только информация о продукте и первом этапе iBoot. Этого достаточно для старта загрузчика ОС из внутренней памяти, но солидного набора драйверов, как в UEFI, здесь нет.
Сама macOS загружается со второго раздела GPT. Asahi Linux заменит или дополнит ее. В новой среде можно будет загружать собственный код или отдельные функции и модули.
По сути, Linux будет загружаться с «оболочки» macOS – с тома, который содержит только iBoot и несколько служебных файлов. Это поможет убедить загрузочную инфраструктуру Apple, что Asahi Linux – легитимная ОС, которую можно использовать. Также задействуют цепочку загрузчиков, чтобы полноценно работать с файловой системой и другими ключевыми компонентами.
Первые результаты
Автор проекта также отметил, что к созданию Asahi Linux присоединилась Алисса Розенцвейг. Она занимается реверс-инженерингом драйверов для графического процессора чипа M1. Первые результаты своей работы Розенцвейг уже представила на GitHub и описала в блоге. Параллельно разработчица возглавляет команду создания свободного драйвера Panfrost. Ранее она работала над реверс-инжинирингом драйверов от ARM, в частности, для для Midgard (Mali-T6xx, Mali-T7xx, Mali-T8xx) и Bifrost (Mali G3x, G5x, G7x).