- rEFIt — Ставим Ubuntu рядом с Mac OS X на Mac-компьютеры с процессором Intel
- Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
- Введение
- Установка
- 1. Выберите дистрибутив
- 2. Установите программу для подготовки флешки
- 3. Сделайте бэкап (можно пропустить, но это важно)
- 4. Поделите диск на три части: macOS, Linux, Swap
- 5. Загрузите операционную систему с флешки
- 6. Следуйте указаниям установщика
- 7. Установите rEFInd
- 8. Вход в rEFInd Boot Manager и завершение установки
- Заставляем работать 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
rEFIt — Ставим Ubuntu рядом с Mac OS X на Mac-компьютеры с процессором Intel
Доброго времени суток всем читателям нашего сайта! 🙂 Сегодня у нас необычная тема. мы будем ставить Linux на Mac-компьютеры с процессорами Intel. Чтобы у нас все получилось — нам необходим загрузчик rEFIt.
rEFIt — загрузчик для Mac-компьютеров, который позволяет выбрать при загрузки компьютера любую из установленных на нем ОС, Linux к примеру 🙂
Установка rEFIt
Находясь в Mac OS X загрузите образ rEFIt , смонтируйте и установите обычным для Mac способом. Ставим мы его на том, где и установлена Mac OS.
Работа с диском
Открываем Disk Utility, выбираем свой hdd, переходим на вкладку «Partition» и нажимаем на «+», чтобы добавить новый раздел на диск, на него мы и будем ставить Ubuntu. Также не забываем задать размер для нового раздела и для параметра «Format» укажем Free Space:
Как все операции сделаны, нажимаем на Apply.
Ну а теперь, вставляем диск с Ubuntu и грузимся с него:
Если вы уже работали с Linux, в нашем случае с Ubutnu, то вы знаете как ее устанавливать, если же нет, читаем к примеру: Установка Ubuntu 13.10 .
Как установка Ubuntu будет заверешена, выбираем ее в rEFIt:
Разумеется можно установить и не только Ubuntu, но и ваш любимый дистр 🙂
Источник
Установка и использование 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.
Если у вас остались какие-либо вопросы, например, насчет драйверов, спрашивайте. Всем спасибо, что прочитали — ведь это мой первый опыт написания статей/туториалов на Хабре.
Источник
Заставляем работать 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 и звука.
Источник