Stanislav Gerasimov 02 декабря 2025

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

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

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

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

Меня зовут Станислав, я ИТ-специалист в компании Киберпротект в команде «Кибер Инфраструктура». Ранее я делился своей историей: ❤️🙏 Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье (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
по итогам собеседования

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