Установка Asahi Linux на MacBook с процессором M2

Написано

в

На Mac с процессором Apple Silicon нельзя поставить Linux привычным способом: загрузка с флешки здесь невозможна, а загрузчик подписан Apple. Обойти это взялся проект Asahi Linux — его участники реверс-инжинирингом заставили железо M1 и M2 работать под обычным Linux. Сейчас флагманский дистрибутив проекта — Fedora Asahi Remix, и на M2 он работает вполне уверенно. В этой заметке я опишу установку шаг за шагом.

Что такое Asahi Linux

Проект стартовал в 2020 году, когда Apple перешла на собственные чипы и вместе с ними пришла закрытая схема загрузки: устройство запускает только подписанный Apple код. Участники Asahi Linux написали свой загрузчик m1n1, поверх него — U-Boot и UEFI-окружение. Дальше загружается самая обычная ARM64-система, но с ядром linux-asahi, в которое добавлены драйверы для нестандартного железа Apple: GPU, блоков видео, звука, камеры.

Практически это выглядит так: вы запускаете установщик из macOS, он размечает диск, ставит загрузочную цепочку и систему. macOS остаётся на месте, вы получаете двойную загрузку и выбираете систему при включении.

Требования

  • Mac на чипе M2 — MacBook Air, MacBook Pro 13″, а также 14″ и 16″ с M2 Pro и M2 Max. Поддерживаются и машины на M1.
  • Актуальная macOS. Установщик требует свежую версию системы, так что перед началом обновитесь.
  • Свободное место. Минимум около 30 ГБ, комфортно — 100 ГБ и больше. Место отрезается от контейнера APFS и обратно само не вернётся.
  • Пароль администратора macOS. Он понадобится и при разметке, и при первой загрузке в режиме восстановления.
  • Резервная копия. Разметка диска — операция, которую лучше начинать со свежим бэкапом.

Шаг 1. Резервная копия и обновление

Сделайте копию через Time Machine или любым другим способом. Обновите macOS до последней доступной версии и перезагрузитесь. Если включён FileVault, пароль от него всё равно понадобится на этапе загрузки в режиме восстановления — установщику нужно разблокировать диск.

Шаг 2. Запуск установщика

Откройте Terminal в macOS и выполните одну команду:

curl https://alx.sh | sh

Это официальный установщик проекта. Он скачает себя, проверит модель Mac и предложит выбрать дистрибутив. Есть и вариант сразу для Fedora:

curl https://fedora-asahi-remix.org/install | sh

Первый вариант предпочтительнее: через него видно, какие системы доступны сейчас, и в нём же предлагается выбор рабочего стола.

Шаг 3. Разметка диска

Установщик попросит пароль администратора и покажет текущую разметку. Дальше диалог выглядит так:

  • Нажмите r, чтобы изменить размер раздела macOS.
  • Введите размер нового Linux-раздела. Можно в гигабайтах, можно в процентах от диска, а можно написать min — тогда отрежется минимально возможный кусок.
  • Подтвердите разметку буквой y. Этот шаг самый долгий: система физически перемещает данные в контейнере APFS, на большом диске это занимает несколько минут.
  • Нажмите f, чтобы указать установщику на только что созданный свободный раздел.

Важно понимать, что происходит: Linux ставится не внутрь APFS, а на отдельный раздел рядом с ним. Именно поэтому macOS остаётся нетронутой, а откат сводится к удалению этого раздела.

Шаг 4. Выбор дистрибутива и рабочего стола

Дальше установщик предложит систему и окружение рабочего стола. Fedora Asahi Remix идёт с KDE Plasma по умолчанию — это флагманский вариант, который получает обновления первым. Альтернатива — GNOME, он ближе по ощущениям к macOS. Есть и минимальный образ, если графическое окружение вам не нужно.

Шаг 5. Первая загрузка в режиме восстановления

После разметки установщик предложит продолжить, и Mac выключится. Здесь начинается самая непривычная часть:

  • Подождите не меньше 25 секунд — это требование Apple к переходу в режим восстановления.
  • Зажмите кнопку питания и держите, пока не появятся варианты загрузки.
  • Выберите установочный том и введите пароль macOS.

На этом шаге в служебный раздел устанавливается загрузочная цепочка: m1n1, U-Boot и UEFI-окружение. Затем машина перезагрузится ещё раз — снова зажмите кнопку питания и выберите новый том, теперь уже чтобы попасть в систему. Таких перезагрузок будет несколько, каждая требует ручного выбора: по умолчанию Mac продолжает грузить macOS.

Шаг 6. Установка системы

Дальше запускается мастер первоначальной настройки: имя системы, пользователь, пароль, часовой пояс, раскладка клавиатуры. После этого начинается собственно установка, и она уже идёт из интернета — понадобится стабильное соединение, а по времени это занимает от пятнадцати минут до получаса.

Когда установка закончится, перезагрузитесь и выберите Linux в меню загрузки. При первом входе система предложит завершить настройку и обновиться.

Что работает, а что нет

Перед установкой стоит трезво оценить, чего вы лишитесь. На M2-ноутбуках положение такое:

Работает:

  • Wi-Fi и Bluetooth — без ограничений.
  • Встроенный экран и графика — с аппаратным ускорением, в том числе OpenGL и Vulkan.
  • Веб-камера, микрофон и динамики на MacBook Air и MacBook Pro.
  • Спящий режим — работает штатно.
  • Аппаратное декодирование видео — плееры не нагружают процессор.
  • USB-порты, в том числе USB 2 и USB 3 через разъёмы Thunderbolt.

Не работает или работает частично:

  • Touch ID. Отпечаток пальца в Linux недоступен — входите по паролю.
  • Thunderbolt (USB4). Статус — в разработке. Устройства, которым нужен именно Thunderbolt, к сожалению, не подойдут.
  • Внешний монитор по USB-C. Режим DisplayPort Alt Mode тоже пока в работе. На ноутбуках M2 порта HDMI нет, так что внешний экран подключить не получится. На моделях с M2 Pro и M2 Max HDMI есть, и он работает. Обходной путь для USB-C — в разделе про ядро fairydust ниже.
  • Аппаратное кодирование видео — в планах, декодирование при этом уже есть.

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

Внешний монитор через ядро fairydust

Вывод изображения по USB-C есть в экспериментальной ветке ядра fairydust от команды Asahi Linux. Собирать её вручную долго, поэтому проще воспользоваться скриптом-обёрткой из проекта asahi-fairydust-display:

git clone https://github.com/bharambetejas/asahi-fairydust-display
cd asahi-fairydust-display
chmod +x asahi-fairydust-build.sh
./asahi-fairydust-build.sh

Скрипт клонирует ветку fairydust, настраивает и собирает ядро, ставит его рядом со штатным и правит GRUB. Нужно 15 ГБ свободного места, USB-C → HDMI или DisplayPort адаптер и 60–90 минут на сборку. После перезагрузки выбираем в GRUB ядро с меткой -fairydust и вставляем адаптер в самый передний порт USB-C.

Проверка после загрузки:

uname -r
glxinfo | grep "OpenGL renderer"
xrandr

Первая команда должна показать версию с суффиксом -fairydust, вторая — Apple M2, а не llvmpipe, третья — подключённый выход DP-1.

Оговорки. Ветка экспериментальная и официально не поддерживается. Вывод работает только через один порт USB-C и не всегда переживает горячее подключение — надёжнее перезагрузиться с уже вставленным адаптером. Автоматическую настройку дисплея скрипт не делает: соответствующий шаг в нём отключён, потому что вызывал цикл входа на Wayland. Обновление штатного ядра через dnf переставляет симлинк /boot/dtb, из-за чего вывод может тихо перестать работать — тогда сборку надо повторить.

Штатное ядро при этом не трогается: чтобы вернуться, достаточно выбрать его в меню GRUB.

Внешний диск вместо апгрейда

А вот приятная сторона. MacBook невозможно апгрейдить: память и накопитель распаяны на плате, и их объём выбирается один раз при покупке. В macOS внешний диск так и остаётся внешним — систему и приложения на него толком не перенести.

В Linux это ограничение снимается: внешний SSD по USB — обычное блочное устройство, и любую точку монтирования можно увести на него через /etc/fstab. Хотите перенести домашний каталог, библиотеку Steam, образы виртуальных машин или локальные модели — пожалуйста. Получается ровно тот апгрейд, которого у этой машины не бывает.

Выглядит это так. Сначала смотрим UUID нужного раздела:

lsblk -f
sudo blkid

Затем добавляем строку в /etc/fstab:

UUID=ваш-uuid  /home  ext4  defaults,nofail  0  2

Сам перенос делают копированием: данные переезжают на внешний диск, после чего он монтируется в нужную точку. Чаще так уводят не весь /home, а отдельные тяжёлые каталоги — так меньше риска.

Пара оговорок. Параметр nofail в опциях ставить стоит: без него система не загрузится, если диск не подключён. Скорость USB-накопителя всё же ниже встроенного NVMe, так что под частые операции ввода-вывода место на внутреннем диске лучше оставлять. И выдёргивать диск на ходу с примонтированными туда каталогами не нужно — сначала размонтируйте.

Как переключаться между системами

При включении зажмите кнопку питания — появится меню загрузки, в нём будут macOS и Linux. Выбрать систему по умолчанию можно в macOS: «Системные настройки» → «Основные» → «Системный диск». В Linux соответствующие настройки тоже есть, так что переключаться в обе стороны можно без терминала.

Ссылки

https://asahilinux.org/fedora/
https://asahilinux.org/docs/
https://asahilinux.org/docs/platform/feature-support/m2/
https://fedoraproject.org/asahi-remix
https://github.com/bharambetejas/asahi-fairydust-display
https://github.com/AsahiLinux/linux/tree/fairydust

Источники

https://asahilinux.org/docs/platform/feature-support/m2/
https://discussion.fedoraproject.org/t/fedora-asahi-remix-installation-guide/
https://github.com/AsahiLinux/docs
https://github.com/bharambetejas/asahi-fairydust-display/blob/main/README.md
https://github.com/bharambetejas/asahi-fairydust-display/blob/main/asahi-fairydust-build.sh

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *