- Установка и использование GNU/Linux как дополнительной системы на iMac/Macbook (Dual Boot)
- Введение
- Установка
- 1. Выберите дистрибутив
- 2. Установите программу для подготовки флешки
- 3. Сделайте бэкап (можно пропустить, но это важно)
- 4. Поделите диск на три части: macOS, Linux, Swap
- 5. Загрузите операционную систему с флешки
- 6. Следуйте указаниям установщика
- 7. Установите rEFInd
- 8. Вход в rEFInd Boot Manager и завершение установки
- Как установить macOS на виртуальной машине в Linux с помощью Sosumi
- Как установить macOS на виртуальную машину (QEMU) в Linux с помощью пакета Sosumi snap
- 1. Установка snap пакета Sosumi:
- 2. Запустите Sosumi, набрав sosumi в терминале
- 3. После установки виртуальной машины и её запуска нажмите Enter для начала процесса установки macOS
- 4. Форматирование жесткого диска виртуальной машины с macOS
- 5. Установка macOS на виртуальную машину
- 6. Запуск операционной системы macOS
- Как установить Ubuntu на Apple M1 и ничего не сломать
- В чем сложность
- Установка 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.
Если у вас остались какие-либо вопросы, например, насчет драйверов, спрашивайте. Всем спасибо, что прочитали — ведь это мой первый опыт написания статей/туториалов на Хабре.
Источник
Как установить macOS на виртуальной машине в Linux с помощью Sosumi
Sosumi – snap пакет, основанный на проекте macOS-Simple-KVM, который позволяет легко загрузить и установить операционную систему macOS на виртуальной машине (поставляется в комплекте с qemu-virgil, virtio-vga, паравиртуальным драйвером 3D-графики). Образ операционной системы macOS не входит в комплект, но будет загружен во время установки. Будет загружена и установлена версия – macOS Catalina.
После использования Sosumi в течение нескольких часов на ноутбуке с операционной системой Ubuntu 20.04 я могу сказать, что установка занимает много времени (почти два часа в моем случае), и работа системы macOS была немного медленной, но достаточной для использования. Таким образом проект может не подойти для тяжелых задач, но идеально подойдет для тестирования.
Snap пакет Sosumi, созданный Аланом Поупом из Canonical / Ubuntu, упрощает установку и запуск macOS на виртуальной машине в Debian / Ubuntu, Fedora и других дистрибутивах Linux (при установленном snapd – api для работы snap пакетов), поставляя практически все инструменты, которые необходимы. Исходный код пакета Sosumi доступен на GitHub . Если вы не хотите использовать snap пакет, то у вас есть альтернатива – macOS-Simple-KVM, набор инструментов для настройки виртуальной машины MacOS в QEMU (KVM).
Перед началом установки стоит отметить несколько важных вещей:
- После установки macOS на виртуальную машину общий размер папки Sosumi (
/snap/sosumi) в моей системе составляет около 31,5 ГБ, но она может увеличиться при установке дополнительных приложений на виртуальной машине macOS.
Как установить macOS на виртуальную машину (QEMU) в Linux с помощью пакета Sosumi snap
Чтобы установить Sosumi, операционная система должна иметь возможность устанавливать пакеты Snap. Snapd по умолчанию доступен в Ubuntu, а для других дистрибутивов Linux следуйте инструкциии из документации Snapcraft.
1. Установка snap пакета Sosumi:
2. Запустите Sosumi, набрав sosumi в терминале
Запуск из терминала требуется только один раз; затем будет создан ярлык приложения.
Если вы столкнулись с ошибкой, в которой сообщается, что не удалось запустить Sosumi / qemu, поскольку невозможно запустить X11, то для решения проблемы нужно добавить пользователя в группу kvm:
3. После установки виртуальной машины и её запуска нажмите Enter для начала процесса установки macOS
Освободить фокус мыши можно с помощью комбинации клавиш CTRL+Alt+G.
4. Форматирование жесткого диска виртуальной машины с macOS
Дальше в ходе запуска виртуальной машины, откроется окно macOS Utilities, в котором доступны различные инструменты.
Открываем инструмент Disk Utility.
В диалоговом окне «Disk Utility» на панели с левой стороны, выберите жесткий диск Apple Inc. Virtio (тот, что имеет емкость 68,72 ГБ), затем нажмите Erase, введите имя для жесткого диска (например, macOS) и оставьте остальные параметры без изменений.
Теперь нажмите кнопку Erase, чтобы отформатировать раздел.
5. Установка macOS на виртуальную машину
После того как вы закроете инструмент Disk Utility, вы снова попадете в диалоговое окно macOS Utility. В окне из списка инструментов выберите Reinstall macOS. Нажмите Continue несколько раз, и далее отобразится окно, на котором вы должны выбрать жесткий диск, отформатированный в предыдущем шаге.
Выберите жесткий диск и нажмите на Install.
Во время установки виртуальная машина автоматически несколько перезагрузится.
6. Запуск операционной системы macOS
После завершения установки виртуальная машина macOS перезагрузится, в меню загрузки Clover вы увидите несколько дополнительных параметров. Используйте клавиши со стрелками влево / вправо для выбора опции Boot macOS from. например, так ( Boot macOS from macOS , где второе название macOS это имя жесткого диска, настроенного на 4 шаге).
Для каждого запуска операционной системы macOS нужно выбирать данную опцию для загрузки.При первой загрузке в macOS вам необходимо выполнить первоначальную настройку, выбрать свое местоположение, предпочитаемый язык, при желании войти в систему с помощью Apple ID, принять условия и т. д., а также создать учетную запись компьютера (имя пользователя и пароль).
Так как у меня отсутствует Apple ID, то я выбрал – Set Up Later.
По окончанию настройки загрузится рабочий стол macOS Catalina.
Видимо во время настройки допустил ошибку и не выбрал русский язык в качестве основного. Поэтому система установилась на английском языке.
Для установки русского языка в macOS Catalina нужно открыть настройки System Preferences – Language & Region и перетянуть (либо сначала добавить нажав на плюсик и выбрав язык из выпадающего меню) выше английского языка. При выходе из настроек появится диалоговое окно с предложением перезагрузить систему для применения настроек.
Источник
Как установить Ubuntu на Apple M1 и ничего не сломать
Corellium ранее работала над проектом Project Sandcastle, который позволяет установить ОС Android на iPhone 7 благодаря уязвимости checkm8. Установкой Android на iPhone не занимались со времени iDroid Project и iPhone 3G. Как и iDroid Project, Project Sandcastle не предоставляет ОС для повседневного использования, это скорее масштабный Proof-of-Concept с открытым исходным кодом.
Подобные проекты очень трудоемки с точки зрения разработки, сложны для эксплуатации обычными пользователями и вряд ли будут использоваться широкой аудиторией. Тем не менее, стоит воспользоваться возможностью посмотреть все своими глазами.
В чем сложность
Наиболее подробно — в соответствующей статье в блоге Corellium.
Ни для кого не секрет, что Apple отступается от принятых стандартов и часто использует собственные решения. Для начала отметим, что macOS загружается несколько иначе, чем операционные системы семейств Windows и *nix. В качестве загрузчика в «яблочных» устройствах используется iBoot. Он загружает ядро в формате Mach-O, которое может быть сжато, подписано и лежать в контейнере IMG4.
Более сложные вещи начинаются, когда появляется необходимость запустить остальные ядра процессора. В обычных ARM64-процессорах это производится через интерфейс Power State Coordination Interface (PSCI). Но в M1 другие ядра запускаются со смещения, которое указано в соответствующем Memory-mapped I/O (MMIO) регистре.
Но даже это еще не все. Apple создали свой собственный контроллер прерываний, который не соответствует ни одному стандарту ARM Generic Interrupt Controller (GIC). Также прерывания, генерируемые таймером, используют специальный тип запросов FIQ (Fast Interrupt Request) вместо IRQ, что пока не поддерживается ядром Linux.
Для взаимодействия процессорных ядер между собой используются специальные прерывания — Inter-Processor Interrupt (IPI), которые в M1 формируются также с помощью FIQ. Таким образом, поддержка FIQ — один из наиболее важных моментов в этом порте.
Ядро Linux на M1 (источник twitter.com)
Сотрудникам Corellium пришлось разработать собственный драйвер для обработки прерываний через FIQ, написать «обертку», которая позволила бы запустить все ядра, и решить еще несколько аппаратных проблем. Только после этого они смогли запустить ядро Ubuntu.
Впрочем, запуск ядра — это только начало. Для успешной эксплуатации необходимо подключить устройства ввода, такие как клавиатура и мышь. Есть три способа: использовать USB-хост в чипе M1 (для ThunderBolt/USB Type-C), использовать xHСI-хост (для USB Type-A) или воспользоваться Bluetooth.
Bluetooth работает на нестандартном PCIe-подобном протоколе, поэтому разработка собственного модуля ядра для неизвестного протокола могла затянуться. В Corellium приняли решение настроить USB, и через пару дней работы им удалось подключить устройства ввода.
На момент написания статьи уже доступен Proof-of-Concept, который можно попробовать самостоятельно. Учтите, что все дальнейшие действия вы можете делать исключительно на свой страх и риск.
Установка Ubuntu
Для начала использования Ubuntu нам потребуется следующее:
- Mac с процессором Apple M1 (поддерживаются Mac Mini, Macbook Pro и Macbook Air);
- флешка с разъемом USB Type-C объемом от 16 ГБ;
- USB-клавиатура и USB-мышь.
В качестве флешки я использовал Kingston DataTraveler microDuo 3C объемом 32 ГБ, поддерживающую USB Type-A и USB Type-C. Инструкция Corellium настаивает на использовании Type-C флешки, так как загрузка с Type-A не поддерживается на момент написания данной статьи. Мышь и клавиатуру я подключал по USB Type-A.
Есть и менее очевидные требования. Во-первых, на Mac Mini должна быть установлена macOS 11.2 или выше. В старых версиях ОС в утилите kmutil отсутствует команда configure-boot, необходимая для корректной «подмены» ядра.
Также необходимо «отвязать» Mac от Find My Mac. Наличие «привязки» не позволяет отключить системы безопасности в полной мере и выполнить все необходимые команды.
В первую очередь подготовим образ для флешки. Скачиваем, а затем распаковываем архив. Подготовку следует выполнять в терминале Mac, на котором планируем запустить Ubuntu.
Далее разворачиваем образ на флешку:
Обратите внимание, что необходимо указать именно флешку, а не раздел на ней. Например, /dev/rdisk6. Далее копируем драйвера на Wi-Fi:
Если вы используете проводное подключение к Интернету, то флешку можно подготовить на компьютере под управлением ОС Linux.
Далее подключаем флешку в USB Type-C порт и перезагружаемся в Recovery OS, известную как 1TR (the One True Recovery), и открываем терминал. На новых Mac это происходит следующим образом:
- Выключаем Mac;
- Удерживаем кнопку включения до появления текста «Загрузка параметров запуска»;
- Выбираем опцию «Параметры» и нажимаем «Продолжить»;
- В верхнем меню открываем «Утилиты» — «Терминал».
Обратите внимание, что Recovery при запуске не должен просить ввести пароль от ОС или от Apple ID. Если он все же просит, то необходимо отключить Find My Mac в настройках macOS.
Устанавливаем ядро Ubuntu:
Данный скрипт проверяет политики загрузки (BootPolicy) и отключает системы проверки целостности macOS, если это необходимо. После этого скрипт загружает ядро Linux в формате Mach-O в корень системного диска и настраивает iBoot на ядро Linux.
В процессе выполнения скрипта будет запрос пароля для получения прав суперпользователя macOS. Выполняемые команды также предупредят вас о том, что выполняемые действия значительно снижают безопасность Mac. Но если вы хотите запустить Ubuntu, то придется принять это как должное.
После завершения скрипта можно перезагрузить Mac, далее начнется загрузка Ubuntu 20.04.
Опыт использования
Первый запуск Ubuntu будет не очень быстрым. В логах загрузки «упадет» четыре-пять сервисов и еще шесть «подвиснут». Ubuntu загружается относительно долго: несколько минут. Более того, первое время отзывчивость ОС будет очень низкой. Запуск новых приложений, даже без графической оболочки, может занимать минуты. Эта проблема самоустраняется вскоре после загрузки.
Нетрудно заметить, что образ сделан на основе Ubuntu для Raspberry Pi. Поэтому в системе пользователи root и pi имеют пароль raspberry. К сожалению, сделать красивый и показательный скриншот с выводом screenfetch не получается. ОС не определяет модель процессора, поэтому в выводе лишь безликое Unknown.
То, что это образ ОС для RPi, будет заметно при попытке установить ПО из пакетного менеджера. Он попытается установить не только требуемый администратором софт, но и обновление ОС с созданием initramfs для «малинки». Подобные действия приведут к появлению ошибок в логах, несмотря на успешность установки запрошенного ПО.
Как и ожидалось, в ОС присутствует минимально необходимый набор драйверов. Звуковая карта, модуль Bluetooth и графический ускоритель не поддерживаются. Большинство системных утилит, таких как lspci, lsusb и lshw, выдают очень скудную информацию о железе.
Несмотря на множество ограничений, я решил провести тест sysbench.
Устройство | Количество вычислений в секунду |
---|---|
Mac Mini (Ubuntu 20.10) | 838 |
Lenovo ThinkPad E14 (Ubuntu 20.04) | 483 |
Хотя данный тест нельзя считать идеальным и показательным, восьмиядерный Apple M1 в два раза превосходит восьмиядерный Intel Core i5-1045U. К сожалению, мне не удалось запустить sysbench на macOS.
Заключение
Установка альтернативных операционных систем на Mac — это всегда увлекательный с технической точки зрения процесс. Новые процессоры Apple M1 стали отличным вызовом для энтузиастов.
А вам приходилось использовать Windows или Linux на Mac?
Источник