🐧🍎 Ставим Fedora на MacBook Pro 2019 с чипом T2 и не ломаем систему на первом же обновлении

Чип T2 в MacBook — это защита Apple от всего неродного, включая Linux. Но есть способ обойти все ловушки и получить Fedora с рабочим Wi-Fi, звуком и даже Touch Bar. Главное — знать правильную последовательность действий. Показываю на своём примере.

Полное руководство по установке, настройке ядра и включению Wi-Fi, Bluetooth, звука и тачпада

Меня зовут Станислав, я ИТ-специалист в компании Киберпротект в команде «Кибер Инфраструктура». Ранее я делился своей историей: ❤️🙏 Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье (https://habr.com/ru/articles/776424/) и в конце статьи расскажу хорошие новости.

MacBook Air/Pro 2018–2020 с чипом T2 — одна из самых сложных платформ для Linux, но при правильной подготовке можно получить полностью рабочую Fedora Linux: Wi-Fi, звук, тачпад, Touch Bar и управление питанием.

Эта статья — полное руководство по установке Fedora 42 на MacBook Pro 2019 с T2.

1. Подготовка Mac к установке Fedora

1.1. Отключение защиты загрузки

Перезагружаемся в Recovery Mode (⌘ + R) и открываем Startup Security Utility:

  1. Secure Boot → No Security
  2. External Boot → Allow booting from external media

Иначе Linux просто не загрузится.

1.2. Подготовка диска

Открываем:

Disk Utility → View → Show All Devices

Создаём раздел под Fedora. EFI-раздел не трогаем — он будет общим.

2. Извлечение прошивки Wi-Fi/Bluetooth

Apple запрещает распространять прошивки Broadcom, поэтому их нужно извлечь вручную из macOS.

Официальный скрипт:

👉 https://wiki.t2linux.org/tools/firmware.sh

Он предложит 3 варианта:

  1. Копирование прошивки на EFI-раздел
  2. Создание tar-архива и перенос
  3. Создание rpm/deb/pacman-пакета ← лучший вариант для Linux

3. Установка Fedora Linux

Скачиваем официальный образ Fedora 42:

https://dl.fedoraproject.org/pub/fedora/linux/releases/42/Workstation/x86_64/iso/

Записываем на флешку:

👉 https://etcher.balena.io/

Загружаемся.

⚠ Важно: встроенные клавиатура и трекпад в Live Mode не работают. Нужны внешние USB-клавиатура и мышь.

⚠️ ОЧЕНЬ ВАЖНО — ПРОЧИТАЙ ПЕРЕД УСТАНОВКОЙ ПАТЧЕЙ T2LINUX

После установки некоторых пакетов, таких как:

  1. mesa-libGL
  2. mesa-libGL-devel
  3. dkms
  4. и других компонентов графического стека или модулей ядра,

система с патчами T2Linux может перестать загружаться. В этом случае обычно приходится использовать LiveUSB + chroot, восстанавливать конфигурацию GRUB, пересоздавать initramfs или переустанавливать ядро.

👉 ПОЭТОМУ ОЧЕНЬ ВАЖНО:

Все настройки окружения для разработки, виртуализации, сборки проектов и установки тяжёлых библиотек должны быть выполнены до патчинга ядра T2Linux.

После установки T2-ядра обновления следующих компонентов могут привести к поломке загрузки:

  • графические библиотеки (GL/Mesa)
  • DKMS-модули
  • драйверы, требующие пересборки под ядро
  • пакеты, затрагивающие GPU-стек

Это может вызвать:

  • kernel panic
  • циклические перезагрузки
  • зависание системы на загрузке
  • повреждение initramfs
  • необходимость ручного восстановления через chroot

Чтобы этого избежать:

  1. Полностью настройте окружение до установки T2-ядра.
  2. Потом применяйте патчи T2Linux.
  3. И только после этого используйте систему в стабильном режиме.

3.1. Разметка дисков

Создаём:

  1. / — ext4
  2. swap

Что делать с EFI?

Есть 2 варианта:

  1. Использовать EFI от macOS (рекомендовано)
  2. Создать отдельный EFI для Linux

Я использую первый вариант — работает отлично.

4. Восстановление загрузчика после бэкапа (если потребуется)

Некоторые решения (например, Кибер Бэкап) не включают EFI в бэкап, и GRUB перестаёт загружаться.

Восстановление:

Узнаём UUID:

blkid

Монтируем систему:

sudo mount /dev/nvme0n1pX /mnt
sudo mount /dev/nvme0n1pY /mnt/boot/efi
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt

Правим /etc/fstab — прописываем новые UUID.

Создаём конфигурацию загрузчика:

grub2-mkconfig -o /boot/grub2/grub.cfg

5. Установка ядра T2Linux и патчей

Подключаем интернет (USB-tethering или USB Wi-Fi) и ставим патченное ядро:

sudo dnf copr enable sharpenedblade/t2linux
sudo dnf swap --from-repo="copr:copr.fedorainfracloud.org:sharpenedblade:t2linux" kernel kernel
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Перезагружаемся.

5.1. Устанавливаем системные патчи T2Linux

sudo dnf install t2linux-release t2linux-scripts

5.2. Устанавливаем прошивку Wi-Fi/Bluetooth

sudo dnf install --disablerepo=* /path/to/apple-firmware-15.7.1.noarch.rpm

После перезагрузки заработают:

  • Wi-Fi
  • Bluetooth
  • звук
  • клавиатура
  • тачпад
  • Touch Bar
  • управление вентиляторами
💻 Библиотека программиста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека программиста»

6. (Опционально) Ручная сборка kernel-headers

Проверяем версию ядра:

uname -r

Скачиваем соответствующий src.rpm:

https://download.copr.fedorainfracloud.org/results/sharpenedblade/t2linux/fedora-42-x86_64/

Готовим окружение:

rpmdev-setuptree
rpm2cpio kernel-*.src.rpm | cpio -idmv

Правим kernel.spec:

%define with_headers 1
%define with_cross_headers 1

Собираем:

rpmbuild -bb kernel.spec
sudo dnf install ./kernel-headers-*.rpm

Заключение

Надеюсь, эта инструкция поможет вам быстрее и легче запустить Fedora на Mac с чипом T2.

Немного обо мне. В 2024 и 2025 годах мне сделали операции в Казахстане, и здоровье постепенно улучшается. Заболевание остаётся сложным, поэтому в следующем году врачами запланирована ещё одна операция — уже на другом отделе мозга.

Сейчас я обучаюсь на курсе «C++-разработчик», изучаю C++ и Qt, и открыт для проектов, стажировок и вакансий.

Если хотите поддержать меня или пообщаться — реквизиты и контакты есть в статьях с моей историей.

Полезные ссылки

ВАКАНСИИ

Добавить вакансию
Lead C++ Software Engineer (Gameplay)
по итогам собеседования
Flutter Developer
по итогам собеседования
AppSec BP
по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

Библиотека программиста
17 августа 2017

51 задание для оттачивания навыков системного администрирования

Разбираемся с тем, как стать системным администратором, и выполняя реальные...
Библиотека программиста
30 декабря 2016

10 лучших ресурсов для изучения хакинга с помощью Kali Linux

Подборка 10 отличных ресурсов для изучения хакинга с помощью Kali Linux.<em...