MacBook Pro 2014 года, на котором у меня работала Invisible Arch Linux, наконец отошёл в мир иной. Это нанесло сокрушительный удар моим возможностям по эффективной разработке качественных программ. У запуска GNU/Linux на виртуальной машине, или у подключения по SSH к Termux, работающему на Android, есть определённая привлекательность. Но ничто не сравнится с операционной системой, работающей на настоящем железе. Ничто не сравнится. Поэтому пришло время в очередной раз пересмотреть процедуру организации двойной загрузки Arch Linux на MacBook Pro.
В прошлый раз, когда я подумывал об установке Arch на мой MacBook Pro с чипом T2, драйверы для клавиатуры и трекпада всё ещё находились на стадии активной разработки, поэтому я, в сущности, ничего достойного не добился. Но в декабре 2021 года эти драйверы оказались рабочими, а ещё обнаружилась целая вики, посвящённая установке Linux на компьютеры с чипом T2.
В этом материале я расскажу о том, как устанавливал Arch Linux на MacBook Pro. Он рассчитан на компьютеры 2019 или 2020 года выпуска.
Для начала я освободил около 200 Гб на SSD. Для этого я сделал следующее:
Я, кроме того, позаботился о завершении обновления на macOS Monterey, так как истекал бета-период, и мне не хотелось, без необходимости, идти на какие-то риски. Это, кроме того, обеспечивало наличие самых свежих драйверов устройств, что пришлось бы кстати в том случае, если бы мне какие-то из них понадобились при установке Arch.
В сведениях о моём Mac показана первая версия macOS Monterey
О том, как отключить чип T2, можно почитать в вики на t2linux.com. На сайте Apple тоже есть некоторые сведения об этом, так как это нужно тем, кто хочет воспользоваться Boot Cramp для установки Windoze (для ламеров).
Далее, я воспользовался
Я создал два раздела. Оба — ExFAT. Один — это Swap-раздел, второй — загрузочный.
Disk Utility выводит сведения о диске, разбитом на разделы
Существует несколько ISO-образов, которые нам подойдут. Найти их можно здесь (
В тот момент, когда я это пишу, самый свежий релиз
Более того, ISO
Минус установки системы с ISO
Если вы выберете
Я воспользовался ISO
После того, как будет осуществлена загрузка с ISO-образа, то, будут или не будут автоматически установлены Wi-Fi-драйверы, зависит от того, какой именно образ вы выбрали. Если драйверы установлены не будут, можете обратиться к руководству по работе с Wi-Fi в T2 Linux. Если драйверы окажутся на месте — можно подключиться к беспроводной сети с использованием iwd:
Оффлайновую установку я описал в этом материале про Invisible Arch Linux.
Если в ходе выполнения вышеописанных команд возникли какие-то проблемы — попробуйте команду
Прежде чем устанавливать Arch Linux — запустите команду
Внимание! Соблюдайте осторожность, выполняя команду
Проверьте, чтобы разделы Swap и Boot были бы правильно отформатированы и были бы отмечены ожидаемыми флагами. Если вам в этом нужна помощь — обратитесь к моему руководству по Invisible Arch Linux. Пусть оно будет отправной точкой ваших изысканий. Не надо следовать ему во всех деталях.
Разбиение диска на разделы можно выполнить так, как это было описано выше, из macOS, с помощью инструмента с графическим интерфейсом
Есть два подхода к установке Arch Linux. Один предусматривает использование скриптов. Второй — это ручная установка. Вот — профиль установщика для archinstall, рассчитанный на установку системы на MacBook Pro с чипом T2. Правда, инструмент
Инструкции по ручной установке системы можно найти здесь. Если вы раньше никогда не устанавливали Arch Linux — сначала вам стоит разобраться с тем, как выполняется самостоятельная установка этой ОС.
Вот и вот — ресурсы, где можно найти справочные сведения по установке Arch Linux. Можете прибегнуть к ним на пути к успешному завершению установки. Если вы где-то основательно застрянете — можете заглянуть на Discord-сервер, который поддерживают ребята из T2. Только учитывайте то, что у Discord весьма неприятные условия предоставления услуг. Кроме того, администраторы соответствующего сервера открытым текстом обсуждают медицинские эксперименты. Мне не хотелось бы с этим связываться.
Подумайте о том, чтобы, вместо
Скопируйте конфигурационные файлы для настройки сети из папки
Завершите установку и задайте root-пароль. Потом перезагрузитесь, удерживая
Начнём с настройки сетевой подсистемы и с установки окружения рабочего стола.
Iwd — это очень простой инструмент, которым можно пользоваться без NetworkManager или отдельного DNS-резолвера. Ему нужен лишь
Пожалуй, тут я уже рассказал обо всём, связанным с настройкой сетей, что позволит наладить нормальную работу. Теперь установим окружение рабочего стола. Я собираюсь воспользоваться GNOME.
Добавьте нового пользователя и установите его пароль:
Сделайте его суперпользователем, выполнив установку
Теперь установите и запустите рабочий стол
Остаётся лишь войти в систему под новым пользователем и, возможно, установить помощника AUR, вроде Yay, скопировать или сгенерировать GPG-ключи и поставить
Хотя у меня и не возникло проблем с большинством драйверов, была одна неприятность, когда я попытался выполнить рекомендации из вики T2 в применении к выбранному мной ISO-образу. В итоге я понял, что, в зависимости от конкретного ISO, большинство шагов раздела DKMS вики T2 могут оказаться ненужными.
Динамики ноутбука звучат не так хорошо, как в macOS. Ещё — по какой-то причине я не могу расшарить экран в Jitsi Meet. Но видеокамера работает, музыка проигрывается в стереорежиме, а новая версия GNOME очень приятно выглядит на дисплее высокого разрешения.
Моя самая большая досада — это неработающий микрофон. Я, пытаясь это исправить, так задёргал систему, что мне пришлось переформатировать диски и переустановить Arch. Случилось это после того, как я, без особого успеха, попытался перейти с PulseAudio на PipeWrite. У вас всё может пройти не так, как прошло у меня.
В этом материале я рассказал об установке Arch Linux на MacBook Pro с чипом T2 в режиме двойной загрузки. Я привёл советы по созданию минималистичной сетевой конфигурации и поделился личными впечатлениями. T2 Linux подходит и для MacBook Pro 2020 года, и для Macbook Air и для других компьютеров Mac. Попробуйте её, чтобы сделать впечатления от своего Mac такими же, как от компьютера с установленной GNU.
Пользуетесь ли вы Linux на ноутбуках?
В прошлый раз, когда я подумывал об установке Arch на мой MacBook Pro с чипом T2, драйверы для клавиатуры и трекпада всё ещё находились на стадии активной разработки, поэтому я, в сущности, ничего достойного не добился. Но в декабре 2021 года эти драйверы оказались рабочими, а ещё обнаружилась целая вики, посвящённая установке Linux на компьютеры с чипом T2.
В этом материале я расскажу о том, как устанавливал Arch Linux на MacBook Pro. Он рассчитан на компьютеры 2019 или 2020 года выпуска.
Освобождение места на диске
Для начала я освободил около 200 Гб на SSD. Для этого я сделал следующее:
- Воспользовался
Storage Management
для поиска всякого мусора. - Выполнил команду
docker system prune
, так как активно пользуюсь Docker. - Удалил хлам, вроде старых конфигурационных файлов, из
~/Library
. - Очистил кеш Telegram и ограничил его размер.
Обновление macOS
Я, кроме того, позаботился о завершении обновления на macOS Monterey, так как истекал бета-период, и мне не хотелось, без необходимости, идти на какие-то риски. Это, кроме того, обеспечивало наличие самых свежих драйверов устройств, что пришлось бы кстати в том случае, если бы мне какие-то из них понадобились при установке Arch.
В сведениях о моём Mac показана первая версия macOS Monterey
Отключение чипа T2
О том, как отключить чип T2, можно почитать в вики на t2linux.com. На сайте Apple тоже есть некоторые сведения об этом, так как это нужно тем, кто хочет воспользоваться Boot Cramp для установки Windoze (для ламеров).
Создание разделов
Далее, я воспользовался
Disk Utility
для создания FAT-разделов. При создании раздела я столкнулся с проблемой, касающейся сжатия тома. Эта проблема мне уже встречалась при организации двойной загрузки Manjaro на старом компьютере. Я знал, что её можно легко исправить, сначала создав раздел APFS, а затем его уничтожив, подчинив тем самым macOS своей воле.Я создал два раздела. Оба — ExFAT. Один — это Swap-раздел, второй — загрузочный.
Disk Utility выводит сведения о диске, разбитом на разделы
Загрузка с Live-USB
Существует несколько ISO-образов, которые нам подойдут. Найти их можно здесь (
archiso-mbp
) и здесь (funami.tech
). Каждый из них доработан под T2 Linux. В будущем эта ситуация, весьма вероятно, изменится.В тот момент, когда я это пишу, самый свежий релиз
archiso-mbp
датировался 29 августа 2021 года. Там применяется ядро 5.12, которое уже устаревает. Его я использовать не рекомендую. Образ funami.tech
содержит ядро 5.15. Именно им я и воспользовался для установки Arch Linux. Особых проблем при этом не возникло.Более того, ISO
funami.tech
включает в себя ещё и готовый пакет ядра, заголовочные файлы и Wi-Fi-драйверы (в директории /t2kern
). Это ускоряет процесс настройки системы, так как этот образ спроектирован в расчёте на создание и использование локального репозитория Pacman в ходе работы pacstrap
.Минус установки системы с ISO
funami.tech
заключается в том, что позже может понадобиться поменять ядро (например — на archiso-mbp
после его обновления). И, к сожалению, он не предоставляет сигнатур ключей GPG. Но это — обслуживаемый ISO, который, так сказать, был «благословлён» ссылкой на него в вики T2 после того, как я воспевал в его честь хвалебные оды.Если вы выберете
archiso-mbp
от 29 августа 2021, то у вас, теоретически, будет нормальная возможность обновления. Но вам ещё придётся потратить больше времени на то, чтобы заставить заработать Wi-Fi, да и оффлайновые процессы установки будут сложнее.Я воспользовался ISO
funami.tech
от 21 декабря 2021, так как в моём случае этот образ «просто заработал». Но, независимо от того, какой именно образ вы выбрали, записать его на USB-диск можно с помощью Balena Etcher или прибегнув к команде dd
. Я, правда, рекомендую Etcher, так как в эту программу встроены кое-какие механизмы, защищающие пользователя от стирания содержимого его жёсткого диска.Подключение к Wi-Fi
После того, как будет осуществлена загрузка с ISO-образа, то, будут или не будут автоматически установлены Wi-Fi-драйверы, зависит от того, какой именно образ вы выбрали. Если драйверы установлены не будут, можете обратиться к руководству по работе с Wi-Fi в T2 Linux. Если драйверы окажутся на месте — можно подключиться к беспроводной сети с использованием iwd:
systemctl start iwd.service && \
iwctl --passphrase <pass> station wlan0 connect <wifi_ssid>
Оффлайновую установку я описал в этом материале про Invisible Arch Linux.
Если в ходе выполнения вышеописанных команд возникли какие-то проблемы — попробуйте команду
iwctl
. В вашем распоряжении окажется симпатичный псевдографический интерфейс nCurses. Там вы, с помощью команды help
, сможете получить справочные сведения по установке и проверке соединения.Проверка разделов
Прежде чем устанавливать Arch Linux — запустите команду
parted
из среды Archiso и убедитесь в том, что разделы диска выглядят так, как ожидается, и что они правильно отформатированы. Для того чтобы узнать о том, какой именно диск нужно исследовать, перед применением parted
выполните команду lsblk -f
и выясните имя SSD-диска.Внимание! Соблюдайте осторожность, выполняя команду
parted
или пользуясь любыми командами форматирования дисков из среды Live-USB. Если вы не будете предельно внимательны — вы можете просто стереть содержимое своего диска и уничтожить установленную на нём macOS. Считаете ли вы себя опытным пользователем, или нет — подумайте о создании резервной копии данных macOS прежде чем продолжать установку Arch Linux. Считайте, что я вас предупредил.Проверьте, чтобы разделы Swap и Boot были бы правильно отформатированы и были бы отмечены ожидаемыми флагами. Если вам в этом нужна помощь — обратитесь к моему руководству по Invisible Arch Linux. Пусть оно будет отправной точкой ваших изысканий. Не надо следовать ему во всех деталях.
Разбиение диска на разделы можно выполнить так, как это было описано выше, из macOS, с помощью инструмента с графическим интерфейсом
Disk Utility
.Установка Arch Linux
Есть два подхода к установке Arch Linux. Один предусматривает использование скриптов. Второй — это ручная установка. Вот — профиль установщика для archinstall, рассчитанный на установку системы на MacBook Pro с чипом T2. Правда, инструмент
archinstall
не рассчитан на работу с разделами. Но у него имеется экспериментальный режим, позволяющий работать с /mnt
-директориями. Он — для смелых людей, которые сделали резервную копию всех ценных данных. Когда я попробовал этот режим, я столкнулся с массой неприятностей, после чего оставил эту затею, хотя псевдографический интерфейс этой программы выглядит неплохо.Инструкции по ручной установке системы можно найти здесь. Если вы раньше никогда не устанавливали Arch Linux — сначала вам стоит разобраться с тем, как выполняется самостоятельная установка этой ОС.
Вот и вот — ресурсы, где можно найти справочные сведения по установке Arch Linux. Можете прибегнуть к ним на пути к успешному завершению установки. Если вы где-то основательно застрянете — можете заглянуть на Discord-сервер, который поддерживают ребята из T2. Только учитывайте то, что у Discord весьма неприятные условия предоставления услуг. Кроме того, администраторы соответствующего сервера открытым текстом обсуждают медицинские эксперименты. Мне не хотелось бы с этим связываться.
Подумайте о том, чтобы, вместо
vim
, если тачбар не работает, пользоваться для редактирования файлов редактором nano
. Это поможет избежать желания воспользоваться клавишей Esc
. Если, работая в vim
, вы застрянете в режиме INSERT
— нажмите Ctrl-C
для возврата к нормальному редактированию текста.Скопируйте конфигурационные файлы для настройки сети из папки
/etc/systemd/network
ISO-образа в свой корневой каталог, чтобы вам не пришлось вручную настраивать systemd
после первой загрузки. Тут имеются настройки для сетей трёх видов, они очень хорошо собраны. Чтобы ими воспользоваться — скопируйте их по одному и тому же пути своей папки /mnt
.Завершите установку и задайте root-пароль. Потом перезагрузитесь, удерживая
option
, и выбрав новую опцию EFI (тут я исхожу из предположения об успешной загрузке systemd
). Если вы не смогли загрузить только что установленную Arch Linux — тщательно проверьте ESP-загрузчики и /etc/fstab
. Надо, чтобы, используемые вами UUID загрузчиков соответствовали бы тому, что имеется в fstab
.Первая загрузка
Начнём с настройки сетевой подсистемы и с установки окружения рабочего стола.
▍Настройка сети
Iwd — это очень простой инструмент, которым можно пользоваться без NetworkManager или отдельного DNS-резолвера. Ему нужен лишь
systemd
. Для того чтобы, сразу после установки системы, заставить работать Wi-Fi, нужно написать в точности 4 строки конфигурационного файла, а так же запустить или включить несколько служб:- Запустите или включите
iwd.service
, подключитесь к сети с помощьюiwctl
, после чего выполните командуiwctl station wlan0 show
для того чтобы посмотреть сведения о подключении. Если у вас нет IP-адреса, обратитесь к этому руководству. Всё тут сводится к написанию пары строк в конфигурационном файле. После этого системе, с использованием встроенного DHCP-функционалаiwd
, будет назначен IP-адрес. Завершив настройку — перезапуститеiwd
. - Попробуйте попинговать
1.1.1.1
иarchlinux.org
. Если вы скопировали себе конфигурационные файлы для настройки сети, как было описано выше, то в этот момент у вас должна быть возможность подключиться к WLAN и пинговать другие системы. Для того чтобы позволитьiwd
разрешать IP-адреса, нужно настроить резолвер. Тут мы пользуемсяsystemd
. Добавьте в/etc/iwd/main.conf
ещё пару строк, в соответствии с тем, что написано здесь. - После того, как
systemd
-резолвер настроен, его, чтобы заработала бы служба DNS, нужно, вместе с сетевыми сервисами, включить:systemctl enable --now systemd-networkd && \ systemctl enable --now systemd-resolved
Теперь у вас должно получиться успешно выполнить командуping archlinux.org
,resolved
при этом обеспечит нормальную работу с DNS. А это значит, что теперь можно воспользоватьсяpacman
, а так же можно установить любые пакеты, забытые ранее при использованииpacstrap
. - Если вы пользуетесь Docker, то Docker, поначалу, не сможет решать DNS-задачи, так как эта система ожидает, что в файле
/etc/resolv.conf
будут содержаться конфигурационные сведения, которых там нет. Для того чтобы справиться с этой проблемой — создайте символьную ссылку/etc/resolv.conf
, указывающую на/run/systemd/resolve/resolv.conf
— как описано в части «2b» этого ответа на ServerFault. Не стоит благодарности. - Кроме того, если хотите, перечитайте документы по iwd и networkd из вики по Arch и внесите в систему необходимые изменения. Например, ещё пара строк в конфигурационных файлах позволяет вам включить поддержку IPv6. Или, ради повышения уровня анонимности, можно сделать так, чтобы при каждом подключении к интернету менялся бы сетевой MAC-адрес. Ещё можно отключить сканирование сетей, в результате, после отключения,
iwd
не будет этим заниматься.
Пожалуй, тут я уже рассказал обо всём, связанным с настройкой сетей, что позволит наладить нормальную работу. Теперь установим окружение рабочего стола. Я собираюсь воспользоваться GNOME.
▍Установка окружения рабочего стола
Добавьте нового пользователя и установите его пароль:
useradd -m -g users -G wheel,storage,power -s /bin/bash <USERNAME>
passwd <USERNAME>
Сделайте его суперпользователем, выполнив установку
EDITOR=vim visudo
и раскомментировав в /etc/sudoers
строку %wheel ALL=(ALL) ALL
.Теперь установите и запустите рабочий стол
gnome
:pacman -S gnome
systemctl start gdm
Остаётся лишь войти в систему под новым пользователем и, возможно, установить помощника AUR, вроде Yay, скопировать или сгенерировать GPG-ключи и поставить
gopass
. Теперь вы готовы к полноценной работе.Личные впечатления
Хотя у меня и не возникло проблем с большинством драйверов, была одна неприятность, когда я попытался выполнить рекомендации из вики T2 в применении к выбранному мной ISO-образу. В итоге я понял, что, в зависимости от конкретного ISO, большинство шагов раздела DKMS вики T2 могут оказаться ненужными.
Динамики ноутбука звучат не так хорошо, как в macOS. Ещё — по какой-то причине я не могу расшарить экран в Jitsi Meet. Но видеокамера работает, музыка проигрывается в стереорежиме, а новая версия GNOME очень приятно выглядит на дисплее высокого разрешения.
Моя самая большая досада — это неработающий микрофон. Я, пытаясь это исправить, так задёргал систему, что мне пришлось переформатировать диски и переустановить Arch. Случилось это после того, как я, без особого успеха, попытался перейти с PulseAudio на PipeWrite. У вас всё может пройти не так, как прошло у меня.
Итоги
В этом материале я рассказал об установке Arch Linux на MacBook Pro с чипом T2 в режиме двойной загрузки. Я привёл советы по созданию минималистичной сетевой конфигурации и поделился личными впечатлениями. T2 Linux подходит и для MacBook Pro 2020 года, и для Macbook Air и для других компьютеров Mac. Попробуйте её, чтобы сделать впечатления от своего Mac такими же, как от компьютера с установленной GNU.
Пользуетесь ли вы Linux на ноутбуках?
Комментарии (12)
LeshaRB
25.01.2022 17:59+1А что насчёт дистрибутивов базирующихся на Дебиан... Можно что поставить?
И тоже как с оптимизацией под м1?
mikhailian
25.01.2022 19:59+9Не стоит рекомендовать Balena Etcher, это мутный троян.
namikiri
25.01.2022 21:42+4Не стоит рекомендовать Balena Etcher, это целый браузер вместо утилиты для записи флешек.
svanichkin
25.01.2022 21:57Посоветуйте что то вместо него с таким же обширным функционалом, не знал что он волк в овечьей шкуре...
Valery4
26.01.2022 18:37Есть аналогичная шутка от RaspberryPi
https://www.raspberrypi.com/software/
Заточено под их систему, но ничего не мешает выбрать любой образ.
jim_d
26.01.2022 22:14Интересует вопрос энергопотребления, ведь если говорить о ноутбуке, то важна автономность работы. На сколько сильно отличается время работы на родной MacOS и на Arch? Если как-то настраивали энергопотребление в Arch, то поделитесь описанием.
amelekhin
И правда похоже, спасибо.