- Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
- Введение
- Установка
- 1. Выберите дистрибутив
- 2. Установите программу для подготовки флешки
- 3. Сделайте бэкап (можно пропустить, но это важно)
- 4. Поделите диск на три части: macOS, Linux, Swap
- 5. Загрузите операционную систему с флешки
- 6. Следуйте указаниям установщика
- 7. Установите rEFInd
- 8. Вход в rEFInd Boot Manager и завершение установки
- Question: Q: How to install Linux on MacBook Air with T2 Security Chip
- All replies
- На новых MacBook невозможно загрузить Linux из-за чипа T2
- Заставляем работать MacBook Pro 2018 T2 c ArchLinux (dualboot)
- Что работает на данный момент
- Что потребуется для установки
- 1. Отключаем запрет загрузки с внешних носителей
- 2. Выделяем свободное место с помощью Disk Utility
- 3. Формируем iso образ
- 4. Первая загрузка
- Клавиатура, тачбар, etc
- 5. Загрузчик
- Настраиваем systemd-boot
- 6. Настройка Wi-Fi
- 7. Звук
- 8. Suspend/Resume
Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
Введение
macOS — довольно интересная система, красивая, удобная, стабильная. Но продукт Apple имеет серьезные минусы: закрытый исходный код, не самое большое количество стороннего софта, слежка за пользователями (ну в Windows она тоже есть). Расставаться с macOS не хочу — например, конкурента для Final Cut Pro даже на Windows не найти. Я не нашел понятных, актуальных и универсальных инструкций даже на английском, поэтому я написал данный туториал, основанный на личном опыте.
ВНИМАНИЕ! 1. На компьютерах Apple, выпущенных в 2018 году и позднее, присутствует специальный защитный чип, который запрещает ставить ОС методом, описанным в статье (вы сможете воспользоваться лишь Bootcamp для установки Windows). 2. На компьютерах с macOS Big Sur имеется проблема с утилитой, которая обязательна для установки. Поэтому во всех этих случаях выполняйте следующие действия на свой страх и риск. Если ваша техника и ОС подходит под эти условия: для вас пункт 3 особенно важен — делайте бэкапы!
Вам понадобится: флешка, внешний диск, смартфон/другое устройство для просмотра туториала.
Установка
1. Выберите дистрибутив
Выберите дистрибутив, который подходит под архитектуру вашего процессора. Я выбирал на сайте distrowatch.com. Скачайте необходимый .iso образ вашего дистрибутива.
2. Установите программу для подготовки флешки
Установите Balena Etcher (macOS, Linux, Windows) или Rufus (Windows). К сожалению, мне пришлось воспользоваться Rufus на другом компьютере, с Balena Etcher возникли некоторые проблемы. Вставьте флешку, её объем должен быть больше размера дистрибутива примерно на 1 ГБ (на всякий случай).
В случае с Rufus: загрузите дистрибутив в программу, никакие настройки не изменяйте, нажмите «СТАРТ». Программа сообщит вам, когда выполнит работу.
Если же вы решили воспользоваться Balena Etcher: интерфейс интуитивно понятный, так что проблем не должно быть.
Balena Etcher
3. Сделайте бэкап (можно пропустить, но это важно)
Я особенно понял, что бэкап важен, когда написал этот туториал и он пропал. И когда забыл сделать бэкап для смартфона. Делайте бэкапы.
Запустите Time Machine, подключите внешний диск для бэкапа (его объем должен быть равен объему занятого места на диске ± 15-20 ГБ). Обратите внимание, что в среднем на передачу 1 ТБ с жесткого диска на внешний жесткий диск требуется 7 часов (по личным наблюдениям с iMac, если вы пользуетесь SSD — процесс будет быстрее). Отключите внешний диск для бэкапа после завершения передачи данных.
Time Machine
4. Поделите диск на три части: macOS, Linux, Swap
Откройте Дисковую утилиту, нажмите на диск, относящийся к Macintosh HD (он может называться по-другому, например Macintosh SSD и т. п.).
Нажмите «Разбить на разделы», создайте раздел «Swap», выберите формат MS-DOS (FAT), выделите данному разделу количество дискового объема, равное количеству оперативной памяти на компьютере (я выделил 8 ГБ). Создайте следующий раздел «Linux» (тоже MS-DOS FAT), выделите ему желаемое (и обязательно свободное) место на диске (оптимально будет 50 ГБ, но можно и меньше/больше).
5. Загрузите операционную систему с флешки
Перезагрузите компьютер. Сразу же после появления логотипа Apple зажмите клавишу alt (option) до тех пор, пока не появится меню выбора диска для загрузки. Выберите первый EFI Boot. Появится меню: вы можете попробовать (try), установить (install). Советую сначала попробовать (если такая возможность имеется), так как не все дистрибутивы хорошо работают на «железе» Apple.
6. Следуйте указаниям установщика
Попробовали и все нравится? Движемся дальше. Запустите установщик (обычно на рабочем столе есть иконка «Install *название_ОС и версия*»), следуйте указаниям установщика, но когда вас спросят, в каком месте установить — сразу же переходите в расширенные настройки. Выберите раздел, объем которого равен объему раздела «Linux» как главный и отформатируйте его в EXT4. Раздел, объем которого равен объему раздела «Swap», пометьте как «swap-area» или подобное. В качестве раздела для bootloader используйте главный раздел («Linux»).
7. Установите rEFInd
Если вы решили использовать Ubuntu как второй дистрибутив, запустите в терминале следующие команды:
Для других ОС подробная информация на официальном сайте.
8. Вход в rEFInd Boot Manager и завершение установки
Перезагрузите компьютер, и снова зажмите alt (option). Откройте EFI Boot, и немного подождите. Появится меню, выберите систему, которую вы хотите запустить. В дальнейшем, rEFInd Boot Manager будет запускаться самостоятельно.
Кстати, все, за исключением macOS, Time Machine и EFI, что я использовал в туториале — open-source.
Если у вас остались какие-либо вопросы, например, насчет драйверов, спрашивайте. Всем спасибо, что прочитали — ведь это мой первый опыт написания статей/туториалов на Хабре.
Источник
Question: Q: How to install Linux on MacBook Air with T2 Security Chip
I’ve decided in install (single-boot) Ubuntu 18.04 on my newly purchased MacBook Air 2020 (With the new scissor-style keyboard). It has T2 security chip installed and I understand how to disable secure boot. But however, my valid installation medium (The installation USB) doesn’t install it. After some research, it is caused by the T2 security chips rejecting the verification of the installation medium. The question is, would I be able to install any Linux OSes on the MacBook Air and how to disable T2 chip completely.
MacBook Air (2020)
T2 Security Chip
macOS Catalina 15.03
Posted on Apr 9, 2020 1:50 AM
All replies
Loading page content
Page content loaded
Linux support for the Keyboard & Trackpad, the networking drivers, and the T2 security chip only just recently got merged into the mainline Linux Kernel. I’m fairly sure you need at least kernel version 5.4+ to get some of these features working and I believe v5.6 may be necessary for T2 support. I don’t recall which of the post v5.4 releases has T2 support.
Currently you cannot easily install Linux onto an Apple computer which uses the T2 security chip because the Linux Kernel with the T2 support is not included in any of the currently released distributions as a default kernel. If you want to run Linux on this laptop, then you will most likely need to first install Linux to an older Mac or other UEFI booting PC and install the latest v5.6 kernel. I would suggest trying to boot this customized Linux boot disk externally to confirm you use the built-in keyboard, trackpad, and either WiFi or ethernet. Then clone the Linux install to the internal SSD (again you will need a boot disk with support for the T2 security chip).
I do not recommend dual booting this laptop with both macOS and Linux unless you have good backups and are prepared to perform a clean install or restore from backup since you will at some point most likely do something which will prevent either OS from booting and possibly risk losing access to all the data in one or both operating systems.
You cannot disable the T2 chip as it is an integral part of the system. The most you can do is disable some of the security settings to allow a non-Apple OS to boot and to allow booting from an external drive.
Apr 9, 2020 5:20 PM
I’m very curious about trying Linux on my 16″ MacBook Pro. I’ve been searching for references to the kernel T2 support, but haven’t been able to find any. Can you give me some links to what you know about this support landing in the kernel?
(In particular, I’ve looked through the https://kernelnewbies.org/ changelogs for 5.4-5.6 and didn’t find any relevant references to T2.)
Apr 23, 2020 2:03 AM
I’m very curious about trying Linux on my 16″ MacBook Pro. I’ve been searching for references to the kernel T2 support, but haven’t been able to find any. Can you give me some links to what you know about this support landing in the kernel?
(In particular, I’ve looked through the https://kernelnewbies.org/ changelogs for 5.4-5.6 and didn’t find any relevant references to T2.)
I read about it on Phoronix last year sometime between Sept. and Dec. IIRC. I haven’t heard anything more recent or how good the support is with it. Unfortunately I haven’t had time to try creating a Linux boot disk which is compatible and cloning it to the internal drive. Debian hasn’t backported the lastest kernel last time I checked and I don’t have time to recompile it. I have a busted MBPro with Touchbar that won’t boot macOS but boots Linux just fine. I really want to resurrect this laptop, but I’ve been busy with work and other issues in dealing with the COVID-19 situation.
FYI, the latest Ubuntu 20.04 release only uses the 5.4.x kernel, so you will still need to do a lot of work on installing Ubuntu and configuring it with the necessary kernel using another UEFI system. You will most likely need to make an image of the installation because you will need to boot the T2 system using this customized Linux boot disk and push the image to the T2 system.
As I mentioned earlier you are better off running Linux in a VM especially on the newer hardware at the moment. Dual booting is always risky so make sure to have good verified working backups of macOS before attempting to dual boot the computer or you risk losing your data. Many times people need to erase the drive and reinstall or restore from a backup when deleting partitions used by other operating systems.
Источник
На новых MacBook невозможно загрузить Linux из-за чипа T2
Энтузиасты Linux частенько ставят свободную ОС на оборудовании Apple, в том числе MacBook Air. Так они получают двойную выгоду: и удобную операционную систему из привычного дистрибутива, и надёжность «железа» Apple, Даже Линус Торвальдс раньше использовал MacBook Air таким образом.
Однако эти счастливые времена могут остаться в прошлом. Новая линейка оборудования Apple стала более враждебной по отношению к Linux. Проблема в новом чипе безопасности T2, который Apple добавила в последние модели своих компьютеров. Он эффективно блокирует загрузку Linux на Mac Mini, сообщает издание Linux-сообщества Phoronix. Судя по всему, аналогичная ситуация и на других моделях компьютеров, где установлен этот чип.
Чип безопасности T2 отвечает за шифрование хранилища APFS, проверку безопасной загрузки UEFI, обработку Touch ID, отключение аппаратного микрофона при закрытии крышки ноутбука и другие задачи безопасности. T2 немного ограничивает процесс загрузки и проверяет каждый шаг процесса с помощью криптографических ключей, подписанных Apple.
Теперь с загрузкой альтернативных ОС возникают сложности. По умолчанию даже Microsoft Windows не загружается на новых системах Apple, пока не будет включена поддержка Windows через программное обеспечение Boot Camp Assistant на macOS. Этот инструмент установит сертификат Windows Production CA 2011, который используется для проверки подлинности загрузчиков Microsoft. Но он не устанавливает одобренный Microsoft сертификат UEFI, позволяющий верификацию кода партнёрами Microsoft, включая тот, что используется для подписания дистрибутивов Linux, которые хотят иметь поддержку UEFI SecureBoot для компьютеров с Windows.
Документация T2 от Apple даёт понять этот факт и явно упоминает Linux: «В настоящее время отсутствует цепочка доверия для Microsoft Corporation UEFI CA 2011, позволяющего верификацию кода, подписанного партнёрами Microsoft. Этот UEFI CA обычно используется для проверки подлинности загрузчиков для других операционных систем, таких как варианты Linux», — сказано в документе.
Другими словами, пока Apple не решит добавить этот сертификат или чип T2 не взломают, чтобы его можно было полностью отключить или разрешить загрузку произвольных ключей — до этих пор загрузить дистрибутивов Linux на новом оборудовании Apple будет сложно.
Техническая поддержка Apple опубликовала пояснение, что загрузить альтернативные операционные системы всё-таки возможно, если полностью отключить функцию безопасной загрузки Secure Boot при загрузке через Startup Security Utility в режиме macOS Recovery.
Можно было бы предположить, что отключение безопасной загрузки без проблем позволит загружать Linux, но это не так. Пользователи сообщают, что даже в таком варианте чип T2 по-прежнему блокирует все операционные системы, кроме macOS и Windows 10. Это довольно странно, поскольку при установке параметра No Security в macOS Secure Boot указано, что он не предъявляет к вашему загрузочному диску никаких требований безопасности.
Микросхема T2 встроена в последние модели фирменных ноутбуков, в том числе представленный в начале года MacBook Pro и только что анонсированный MacBook Air. Кроме того, она используется в портативных моделях Mac Mini.
Apple заявляет, что T2 обеспечивает «невиданный» уровень безопасности для Mac. Однако нововведение не всем понравилось. Недовольство выражают и некоторые разработчики. Например, автор приложения Macs Fan Control говорит, что теперь его программа не будет работать под Windows на компьютерах iMac Pro и MacBook Pro 2018: «Дополнительная безопасность — это отлично (хотя мы не просили об этом), но только тогда, когда это ограничения не являются обязательными, и опытный пользователь может их отключить. К сожалению, у Apple не так: она всё больше двигается в сторону запретов и ограничений, что не хорошо для опытных пользователей и разработчиков. Кажется, чип T2 блокирует доступ к SMC под Windows, а этот контроллер необходим для получения значений датчиков и информации о кулерах».
Несмотря на регистрацию соответствующего тикета на GitHub, разработчик просит не надеяться, что проблему удастся решить.
Источник
Заставляем работать MacBook Pro 2018 T2 c ArchLinux (dualboot)
Достаточно много было шумихи по поводу того, что из-за нового чипа T2 невозможно установить linux на новые MacBook 2018 года с тачбаром. Шло время, и под конец 2019 года стронними разработчиками был реализован ряд драйверов и патчей ядра для взаимодействия с чипом T2. Основной драйвер для MacBook моделей 2018 и новее реализует работу VHCI (работа тача/клавиатуры/и.т.д.), а также функционирование звука.
Проект mbp2018-bridge-drv разделен на 3 основных компонента:
- BCE (Buffer Copy Engine) — устанавливает основной канал связи с T2. VHCI и Audio требуют этот компонент.
- VHCI — это виртуальный хост-контроллер USB; клавиатура, мышь и другие компоненты системы предоставляются этим компонентом (другие драйверы используют этот хост-контроллер для обеспечения большей функциональности.
- Audio — драйвер для аудиоинтерфейса T2, в настоящее время поддерживается только вывод звука через встроенные динамики MacBook
Второй проект называется macbook12-spi-driver, и он реализует возможность работы драйвера ввода для клавиатуры, трекпада SPI, тачбара для MacBook Pro конца 2016 г. и более поздних версий. Часть драйверов для клавиатуры/трекпада теперь включена в ядро, начиная с версии 5.3.
Также была реализована поддержка таких устройств, как wi-fi, тачпад, etc, с помощью патчей ядра. На текущий момент версия ядра 5.3.5-1
Что работает на данный момент
- NVMe
- Клавиатура
- USB-C (Thunderbolt не проверялся, при автоматической загрузке модуля подвешивает систему намертво)
- Тачбар (с возможностью включения клавиш Fn, подсветка, ESC итп)
- Звук (только встроенные динамики)
- Модуль Wi-Fi (через brcmfmac и только через iw)
- DisplayPort через USB-C
- Сенсоры
- Suspend/Resume (частично)
- etc..
Данный туториал применим для macbookpro15,1 и macbookpro15,2. За основу была взята статья с гитхаба на английском отсюда. Не все из этой статьи заработало, поэтому пришлось искать решение самостоятельно.
Что потребуется для установки
1. Отключаем запрет загрузки с внешних носителей
2. Выделяем свободное место с помощью Disk Utility
Для удобства я сразу выделил 30Гб на диск, отформатировав его в exfat в самом Disk Utility. Разбиение физического диска на разделы Disk Utility.
3. Формируем iso образ
- Можно пойти простым путем и скачать готовый образ с ядром 5.3.5-1 и пачтами от aunali1ссылка на готовый образ
- Сформировать образ самостоятельно через archlive (необходима система с дистрибутивом арча)
Добавляем репозиторий в pacman.conf:
Игнорируем оригинальное ядро в pacman.conf:
Добавляем необходимые пакеты, в конце добавляем ядро linux-mbp и linux-mbp-headers
Изменяем скрипт для работы в интерактивном режиме (заменяем pacstrap -C на pacstrap -i -C):
Нажимаем Y, чтобы пропустить игнорируемые пакеты, затем пишем iso-образ на usb флешку:
4. Первая загрузка
Перезагружаемся с вставленной флешкой и клавиатурой. Нажимаем options при появлении яблока, выбираем EFI BOOT.
Далее необходимо нажать клавишу «e» и вписать в конец командной строки module_blacklist=thunderbolt. Если этого не сделать, то система может не загрузиться, и вылетит ошибка Thunderbolt ICM Error.
С помощью fdisk/cfdisk находим наш раздел (у меня это nvme0n1p4), форматируем и производим установку арча. Можно воспользоваться официальной инструкцией или строронней.
Загрузочный раздел не создаем, загрузчик будем писать в /dev/nvme0n1p1
После того, как полностью сформировано окружение в /mnt и перед тем, как перейти в arch-chroot, пишем:
Добавляем в /etc/pacman.conf:
Прописываем thunderbolt и applesmc в /etc/modprobe.d/blacklist.conf
Клавиатура, тачбар, etc
Устанавливаем модули для работы тачбара:
Добавляем модули в автозагрузку: /etc/modules-load.d/apple.conf
Устанавливаем модули ядра для работы клавиатуры. В репозитории anuali1 есть готовый пакет, он называется apple-bce-dkms-git. Чтобы его установить, пишем в консоли:
В этом случае модуль ядра будет называться apple-bce. В случае самостоятельной сборки он называется bce. Соответственно, если вы хотите прописать модуль в раздел MODULES в файл mkinicpio.conf, то не забудьте, какой модуль вы устанавливали.
Добавляем модуль bce или apple-bce в автозагрузку: /etc/modules-load.d/bce.conf
Если хотите использовать по умолчанию кнопки Fn, то в файл /etc/modprobe.d/apple-tb.conf пишем:
Обновляем ядро и initramfs.
5. Загрузчик
После того, как внутри chroot все основные пакеты установлены, можно приступать к установке загрузчика.
Мне так и не удалось заставить работать grub. С внешнего usb-диска grub загружается, но при попытке прописать его в nvme через
grub-install —target=x86_64-efi —efi-directory=/boot —bootloader-id=grub
система улетала в kernel panic, и после перезагрузки нового пункта через options не появлялось. Какого-то внятного решения данной проблемы я не нашел и поэтому решил попробовать реализовать загрузку с помощью systemd-boot.
и улетаем в kernel panic. Выключаем MacBook, включаем заново, жмем options (usb-c хаб с клавиатурой не отключаем)
Если необходимо, чтобы клавиатура работала до полной загрузки системы (это необходимо в случае использования шифрования luks/dm-crypt) то прописываем в файл /etc/mkinicpio.conf в разделе MODULES:
Обновляем ядро и initramfs.
Настраиваем systemd-boot
Редактируем файл /boot/loader/loader.conf, удаляем все, что там внутри, и вносим следующее:
Переходим в папку /boot/loader/entries, создаем файл arch.conf и пишем:
В случае, если использовали luks и lvm, то
Перезагружаемся в MacOS.
6. Настройка Wi-Fi
Как в итоге выяснилось, файлы прошивок для wi-fi адаптера MacOS хранит в папке /usr/share/firmware/wifi , и можно их от туда взять в виде блобов и скормить модулю ядра brcmfmac. Для того, чтобы выяснить, какие именно файлы использует ваш адаптер, открываем терминал в MacOS и пишем:
Получаем длинный список. Нам нужны файлы только из раздела RequestedFiles:
В вашем случае названия файлов могут отличаться. Копируем их из папки /usr/share/firmware/wifi на флешку и переименовываем в следующий вид:
В данном случае последний текстовый файл содержит названия модели, если ваша модель не macbookpro15,2, то необходимо переименовать этот файл в соответствии с вашей моделью макбука.
Перезагружаемся в арч.
Копируем файлы с флешки в папку /lib/firmware/brcm/
Проверяем работоспособность модуля:
Убеждаемся, что сетевой интерфейс появился через ifconfig/ip.
Настраиваем wifi через iwctl
Внимание. Через netctl, nmcli, etc. интерфейс не работает, только через iwd.
Заставляем NetworkManager использовать iwd. Для этого создаем файл /etc/NetworkManager/NetworkManager.conf и пишем:
Запускаем службу NetworkManager
7. Звук
Для того, чтобы заработал звук, необходимо установить pulseaudio:
Скачиваем три файла:
8. Suspend/Resume
На текущий момент 16.10.2019 приходится выбирать либо звук, либо suspend/resume. Ждем, пока автор bce модуля допилит функционал.
Чтобы собрать модуль с поддержкой susped/resume, необходимо выполнить следующее:
Если вы устанавливали готовый модуль apple-bce из репозитория anuali1, то необходимо его предварительно удалить и только после этого собирать и устанавливать bce модуль с поддежкой suspend режима.
Также, необходимо добавить в blacklist модуль applesmc (если вы этого не сделали ранее) и убедиться, что в /boot/loader/entries/arch.conf в строке options в конце добавлен параметр pcie_ports=compat.
На текущий момент драйвер тачбара вылетает при входе в режим suspend, а драйвер thunderbolt иногда подвешивает систему более чем на 30 секунд, а при возобновлении — на несколько минут. Это можно исправить путем автоматической выгрузки проблемных модулей.
Создайте скрипт /lib/systemd/system-sleep/rmmod.sh:
Сделайте его исполняемым:
На этом пока все. В итоге получась вполне работоспособная система, за исключением некоторых нюансов с suspend/resume. Никаких вылетов и kernel panic не наблюдается на протяжении нескольких дней аптайма. Надеюсь, в ближайшее время автор модуля bce его допилит, и мы получим полноценную поддержку suspend/resume и звука.
Источник