- Линус Торвальдс использует Linux на Apple MacBook Air с процессором M2
- Xakep #289. Взлом в воздухе
- Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
- Установка
- 1. Выберите дистрибутив
- 2. Установите программу для подготовки флешки
- 3. Сделайте бэкап (можно пропустить, но это важно)
- 4. Поделите диск на три части: macOS, Linux, Swap
- 5. Загрузите операционную систему с флешки
- 6. Следуйте указаниям установщика
- 7. Установите rEFInd
- 8. Вход в rEFInd Boot Manager и завершение установки
- Debian GNU/Linux + Macbook Air 2017 (установка wifi драйверов)
- Проблема 1
- Проблема 2
- Действия после установки
- Заключение
Линус Торвальдс использует Linux на Apple MacBook Air с процессором M2
Xakep #289. Взлом в воздухе
Несколько лет назад Линус Торвальдс заявлял, что долго ждал ноутбука на ARM, который сможет работать под Linux, но после выхода устройств Apple на чипе M1 не захотел возиться с ними и «бороться с компаниями, которые не настроены помогать». Теперь же Торвальдс сообщил, что использует Asahi Linux на MacBook Air с процессором M2.
Напомню, что интерес к тому, на какой машине работает Торвальдс, возник еще в 2020 году, после выхода ноутбуков Apple на чипе M1, когда у него спросили, что он о них думает. Тогда Торвальдс ответил, что «очень хотел бы иметь такой [ноутбук], если бы он работал на Linux».
Тогда не все поняли, в чем именно Торвальдс видит проблему, и создатель Linux пояснил:
«У меня остались довольно теплые воспоминания об 11-дюймовом Macbook Air (кажется, 4,1), которым я пользовался около десяти лет назад (но я отказался от него, потому что Apple потребовалось слишком много времени, чтобы починить мне экран, и когда они это сделали, я уже перешел на лучшие ноутбуки, а Apple сделала Linux менее удобным)», — рассказывает Торвальдс и добавляет: — Apple может запускать Linux в своем облаке, но их ноутбуки – нет ;(
Я долго ждал ноутбука на ARM, который сможет работать под Linux. Новый Air будет почти идеальным, за исключением ОС. У меня нет времени возиться с ним, и я не имею склонности бороться с компаниями, которые не настроены помогать».
С тех пор прошло уже два года, и недавно в примечаниях к релизу Linux 5.19 Торвальдс упомянул, что работал над этим релизом на ARM-устройстве, а именно на MacBook Air с процессором M2.
«Я ждал этого долгое время, и наконец это стало реальностью благодаря команде Asahi, — пишет Торвальдс. — У нас уже давно есть оборудование arm64, работающее под управлением Linux, но до сих пор оно не использовалось в качестве платформы для разработки.
Это третий раз, когда я использую оборудование Apple для разработки Linux. Я делал так много лет назад, во время разработки powerpc на машине ppc970. Затем, более десяти лет назад, когда Macbook Air был единственным по-настоящему тонким и легким, а теперь – платформа arm64».
Таким образом, теперь Торвальдс использует MacBook с Asahi Linux на борту. Этот дистрибутив строится на реверс-инжиниринге аппаратного обеспечения Apple, и основной целью команды Asahi является внесение всех своих наработок в основное ядро Linux, чтобы прочие дистрибутивы тоже могли этим воспользоваться.
Недавно разработчики Asahi довольно быстро добавили поддержку новых процессоров Apple, таких как M2 или M1 Ultra, почти сразу после их выпуска.
На первый взгляд может показаться, что совершенно неважно, на чем именно работает Торвальдс, а Asahi Linux пока находится в ранней стадии разработки, и многие вещи функционируют наполовину или не работают вовсе. Но, как отмечает контрибьютор Asahi Гектор Мартин (Hector Martin), если реальные люди будет использовать Linux на реальной, современной платформе ARM64, с актуальной версией набора инструкций ARM и почти upstream-ядром, это вызовет эффект домино и принесет пользу всей экосистеме.
Мартин и другие энтузиасты говорят о том, что чем больше людей будет использовать версии Linux для ARM, тем больше связанных с ARM ошибок будет исправлено, и это пойдет на пользу всем дистрибутивам, и больше людей смогут выявить и устранить проблемы, характерные для ARM, в своем собственном ПО. В конечном итоге опыт использования Linux на ARM-оборудовании должен улучшиться для всех, хотя на это и могут уйти долгие годы.
Установка и использование 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: интерфейс интуитивно понятный, так что проблем не должно быть.
3. Сделайте бэкап (можно пропустить, но это важно)
Я особенно понял, что бэкап важен, когда написал этот туториал и он пропал. И когда забыл сделать бэкап для смартфона. Делайте бэкапы.
Запустите Time Machine, подключите внешний диск для бэкапа (его объем должен быть равен объему занятого места на диске ± 15-20 ГБ). Обратите внимание, что в среднем на передачу 1 ТБ с жесткого диска на внешний жесткий диск требуется 7 часов (по личным наблюдениям с iMac, если вы пользуетесь SSD — процесс будет быстрее). Отключите внешний диск для бэкапа после завершения передачи данных.
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 как второй дистрибутив, запустите в терминале следующие команды:
sudo apt-add-repository ppa:rodsmith/refind sudo apt-get update sudo apt-get install refind
Для других ОС подробная информация на официальном сайте.
8. Вход в rEFInd Boot Manager и завершение установки
Перезагрузите компьютер, и снова зажмите alt (option). Откройте EFI Boot, и немного подождите. Появится меню, выберите систему, которую вы хотите запустить. В дальнейшем, rEFInd Boot Manager будет запускаться самостоятельно.
Кстати, все, за исключением macOS, Time Machine и EFI, что я использовал в туториале — open-source.
Если у вас остались какие-либо вопросы, например, насчет драйверов, спрашивайте. Всем спасибо, что прочитали — ведь это мой первый опыт написания статей/туториалов на Хабре.
Debian GNU/Linux + Macbook Air 2017 (установка wifi драйверов)
Так случилось что захотелось снести MacOS на Macbook’е Air и поставить что то более свободное и линуксовое. Макбук 2017 года, долгое время пользовался MacOS Mojave, обновляться до новых выпусков, зная возможные проблемы, желания не было. Немного перебирая варианты дистрибутивов и попробовав различные Live образы, выбор пал на Debian 11 но так как официально он еще не вышел (выход намечен на 14 августа 2021), то взял его второй релиз кандидат Bullseye RC 2.
Проблема 1
Вот тут и появился первый подводный камень: Debian поддерживает не все wifi устройства из коробки. На помощь могут прийти non-free прошивки, которые можно установить после установки системы, добавив репозитории этих несвободных прошивок, в файле sources.list .
Проблема 2
Теперь появляется второй подводный камень: а как мы установим прошивку для wifi устройства если у нас не работает сеть после установки? Тут уже на помощь пришел смартфон с включенным режимом USB Tethering. Подключив с помощью кабеля USB к макбуку, установщик на удивление сразу распознал это как проводное сетевое соединение. Таким образом интернет соединение для установки драйверов на wifi и первоначальных пакетов, мы себе обеспечили.
Действия после установки
Сам процесс инсталляции я описывать не буду так как все индивидуально, и это тема для отдельной статьи.
После установки открываем терминал и утилитой lspci узнаем модель нашего wifi устройства, введя следующую команду:
На выводе получим название модели устройства, в моей случае это:
Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
BCM4360 это и есть модель wifi устройства. Свободных прошивок к сожалению на него нет и теперь чтобы wifi заработал, нам придется установить несвободный драйвер broadcom-sta-dkms который предоставляет исходный код для модуля ядра wl Остальной список поддерживаемых моделей можно посмотреть в описании драйвера https://packages.debian.org/buster/broadcom-sta-dkms
Так же перед установкой, поставим пару необходимых пакетов wireless-tools и wpasupplicant
sudo apt install wireless-tools sudo apt install wpasupplicant
Далее открываем из под рута, файл sources.list (я использую nano)
sudo nano /ect/apt/sources.list
И вписываем возле каждого урла репозитория, напротив слова main , теги contrib non-free . Должно получится примерно следующее:
Затем сохраняем файл и обновляем инфу о пакетах командой sudo apt update .
Теперь устанавливаем сам драйвер введя команду:
sudo apt install linux-image-$(uname -r|sed 's,[^-]*-[^-]*-,,') linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') broadcom-sta-dkms
По ее завершению, убираем модули b44 b43 b43legacy ssb brcmsmac bcma из ядра системы, командой:
sudo modprobe -r b44 b43 b43legacy ssb brcmsmac bcma
После этого в Network manager’е (я использовал его для настройки сети) появится раздел Wi-Fi Networks где мы уже сможем выбрать доступную сеть и ввести пароль для доступа.
Заключение
Данный гайд может быть полезен не только владельцам маков но и других ноутбуков и десктопов. Так же гайд подойдет остальным Debian производным дистрибутивам (хотя могут быть нюансы).