Захотелось ноут с красивой картинкой на дисплее, выбор пал на retina от apple. Т.к. последние линейки процессоров (М1 и М2) поддерживаются только Asahi Linux (остальные дистрибутивы в стадии тестирования у энтузиастов), а менять дистрибутив на переправе не хотелось, был приобретён представитель предыдущей линейки девайсов с T2 security chip (устанавливался на MacBook Pro 2018, 2019 и 2020, MacBook Air 13″ 2018, 2019 и 2020, iMac 27″ 2020, Mac Pro 2019, Mac mini 2018, iMac pro).
Сразу оговорюсь, что загрузиться с флешки любого дистрибутива можно, но без поддержки клавиатуры, звука, bluetooth и wifi; а процесс доустановки этих драйверов на линукс для T2 вручную похож на фантазию злого гения. В связи с этим имеет смысл взять дистрибутив с пропатченным под T2 ядром (ссылка будет ниже в соответствующем шаге).
1. Освобождение места на диске
Загрузитесь в MacOS, откройте Программы — Утилиты — Дисковая утилита. Слева выберите накопитель и кликните Разбить на разделы. В открывшемся диалоге слева на графической диаграмме мышкой нужно уменьшить размер занятого MacOs пространства, затем в освободившемся пространстве создать новый раздел (не том) с файловой системой, отличной от APFS — например, FAT или ExFAT.
2. Экспорт драйверов WiFi и Bluetooth
На T2Linux.org (почему-то, отдельно от основного описания) существует скрипт, призванный выгрузить установленные драйверы в загрузочный раздел (EFI) MacOS, чтобы позже импортировать их в Linux. Скрипт предназначен для 12й и более поздних версий MacOS, поэтому предварительно нужно обновиться, если ваша версия старше.
Итак, находясь в MacOS, скачиваем скрипт, открываем терминал и запускаем его:
user@MacBook-Pro ~ % bash Downloads/firmware.sh
Detected macOS
Mounting the EFI partition
Password:
Volume EFI on disk0s1 mounted
Getting Wi-Fi and Bluetooth firmware
Copying this script to EFI
Unmounting the EFI partition
Volume EFI on disk0s1 unmounted
Run the following commands or run this script itself in Linux now to set up Wi-Fi
sudo umount /dev/nvme0n1p1
sudo mkdir /tmp/apple-wifi-efi
sudo mount /dev/nvme0n1p1 /tmp/apple-wifi-efi
bash /tmp/apple-wifi-efi/firmware.sh
Названия дисков, конечно же, будут отличаться. Сохраните этот вывод, он пригодится.
3. Скачиваем и записываем образ дистрибутива
Тут можно выбрать дистрибутив с пропатченным ядром. Скачиваем и записываем на флешку удобным способом.
4. Загружаемся с флешки
Перезапускаем машину, удерживая клавишу Option — в отобразившемся меню выбираем самый правый источник загрузки EFI boot.
Если не удаётся — необходимо отключить защиту. Для этого перезагружаемся, удерживая Command+R, открываем «Утилиту безопасной загрузки» и выбираем «Разрешить загрузку с внешних или съемных накопителей». Затем пробуем снова.
5. Установка ОС
Процесс установки Linux на MacBook ничем не отличается от обычного за исключением одного нюанса — нельзя использовать автоматическое разбиение разделов. В ручном режиме удалите созданный на 1 шаге раздел FAT\ExFAT и в освободившемся пространстве сделайте необходимую разбивку:
- 1 ГБ под загрузчик
- Место под SWAP
- ФС под монтирование / и других точек (если необходимо)
Под конец установки, как обычно, нужно извлечь носитель с дистрибом и нажать ENTER. С этого момента Linux станет автоматически запускаемой ОС.
6. Пост-установка
Итак, у нас установлена ОСь, в которой не работает Wi-Fi. Теперь нужно выполнить команды, которые были предложены скриптом на шаге #2. Открываем терминал и выполняем команды (заменив путь к диску на свой):
sudo umount /dev/nvme0n1p1
sudo mkdir /tmp/apple-wifi-efi
sudo mount /dev/nvme0n1p1 /tmp/apple-wifi-efi
bash /tmp/apple-wifi-efi/firmware.sh
T2Linux.org предоставляет облёгченные дистрибутивы (на примере Ubuntu 22.04 — 1.85 gb против 3.6 gb на оф.сайте), там присутствует минимальный набор софта, соответственно браузер и офисное ПО придётся поставить вручную.