- Двойная загрузка Mac OS X и Ubuntu
- Этап 1. Установка rEFIt
- Этап 2. Изменение размера раздела с OS X
- Этап 3. Перезагрузка с LiveCD
- Этап 4. Инсталляция
- Этап 5. Перезагрузка
- rEFIt — Ставим Ubuntu рядом с Mac OS X на Mac-компьютеры с процессором Intel
- Linux в одном файле для Macbook
- Основные преимущества
- Зачем это нужно?
- Инструкция по установке на Mac
- Инструкция для PC
- Инструкция по сборке из исходников
- Подготовка initramfs
- Сборка
- Помогите!!111
- Как установить Ubuntu на Apple M1 и ничего не сломать
- В чем сложность
- Установка Ubuntu
- Опыт использования
- Заключение
Двойная загрузка Mac OS X и Ubuntu
Организовать в наше время двойную загрузку на PC просто. Скорее всего для этого вообще ничего не придется делать, так как инсталлятор практически любого дистрибутива Linux распознает другие операционные системы и добавит их в загрузочное меню в автоматическом режиме без участия пользователя.
Но как организовать двойную загрузку с Ubuntu на Mac?
На самом деле это не так уж трудно, и в интернете можно найти массу руководств по данному вопросу. В этой статье я хочу описать простой метод, который использую на своем компьютере.
В то же время я не гарантирую, что этот метод у вас точно будет работать, в любом случае убедитесь, что сделали резервную копию всех важных данных, прежде чем приступать.
Этап 1. Установка rEFIt
В отличие от обычного PC, где для организации двойной загрузки обычно используется GRUB, пользователям Intel Mac необходимо кое-что другое — rEFIt, который представляет собой графический менеджер загрузки, имеющий приятный интерфейс и позволяющий выбирать между загрузкой Mac OS X и вашим любимым дистрибутивом Linux.
rEFIt необходимо устанавливать из-под OS X, где эта процедура выполняется очень легко:
1. Скачайте образ диска rEFIt-0.14.dmg и «смонтируйте» его (с помощью двойного клика мышью);
2. В смонтированной файловой системе найдите и запустите с помощью двойного клика файл rEFIt.mpkg;
3. Следуйте инструкциям и выберите раздел с установленной Mac OS X в качестве тома для установки.
Если инсталляция прошла нормально, то после перезагрузки вы увидите загрузочное меню rEFIt. На случай возникновения каких-либо проблем добавьте в закладки раздел «Troubleshooting section» сайта rEFIt.
Этап 2. Изменение размера раздела с OS X
Теперь необходимо освободить место для установки Ubuntu. Обычно я делаю это в OS X, где данная операция легко выполняется штатными средствами.
— откройте в Mac OS X утилиту Disk Utility;
— выберите свой системный жесткий диск на левой панели;
— выберите вкладку «Partition»;
— кликните «+» в нижней части окна и создайте новый раздел, задайте его раздел, перемещая ползунок, или непосредственно введя его с клавиатуры;
— для «Format» выберите «Free Space» (это поможет вам в дальнейшем легко идентифицировать этот раздел);
— нажмите «Apply».
Не экономьте при выделении дискового пространства, так как попытка изменить размер раздела позже может привести к некоторым проблемам.
Этап 3. Перезагрузка с LiveCD
Далее необходимо вставить в привод ваш LiveCD и перезагрузиться. После перезагрузки нажмите «С», чтобы загрузиться с LiveCD.
Этап 4. Инсталляция
Если вы — пользователь Mac, обратите внимание, что bluetooth не будет работать сразу после перезагрузки, поэтому для начальной настройки вам потребуются проводные клавиатура и мышь.
В процессе установки дистрибутива на созданный вами ранее раздел «free space» инсталлятор может предложить вам установить систему на свободное место, поэтому обязательно проверьте раздел для установки, чтобы не затереть OS X. Если же вы хотите быть стопроцентно обезопасить себя от ошибок, можете выбрать разбиение диска вручную, в открывшемся окне выделить созданный раздел «free space», указать для него точку монтирования «/», отметить его для форматирования и выбрать тип файловой системы «EXT4». Также хочу отметить, что я обычно не выделяю раздела для подкачки, но вы можете создать его, если считаете необходимым.
Этап 5. Перезагрузка
Все, что нужно сделать после окончания установки — перезагрузиться и выбрать «Linux» в загрузочном меню rEFIt. Если вы используете беспроводную клавиатуру, необходимо нажать любую клавишу и подождать секунду, после чего вы сможете выбрать нужный пункт в меню rEFIt.
Источник
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, но и ваш любимый дистр 🙂
Источник
Linux в одном файле для Macbook
TL;DR Можно уместить полноценный Linux Live дистрибутив в один файл, если вкомпилировать в ядро initramfs с корневой файловой системой. Компьютеры с UEFI умеют загружать такой файл напрямую, без помощи загрузчика типа GRUB. У меня получилось уместить дистрибутив с программами aircrack-ng, reaver и драйверами для карт Wi-Fi в файл размером 12 мегабайт (наверняка можно еще меньше).
Основные преимущества
Зачем это нужно?
Для всех случаев, когда нужен нативный Linux без виртуальной машины.
Чтобы использовать PCIe-устройства в Linux, когда их нельзя прокинуть в виртуальную машину. Например, встроенную Wi-Fi-карту для инъекции пакетов. Когда лень устанавливать виртуальную машину и качать большой ISO файл с дистрибутивом. Когда не хочется возиться с USB флешками.
Единожды скопированный файл позволит всегда иметь под рукой дистрибутив Linux, который переживет даже переустановку системы.
Инструкция по установке на Mac
Все команды нужно выполнять из macOS.
Конфигурация загрузки не имеет значения, способ не нарушает работу BootCamp, rEFInd и любых других нестандартных конфигураций. Поддерживаются компьютеры Mac не старше 2009 года (работоспособность на более старых не проверялась, но может и заработать).
- Скачать файл OneFileLinux.efi (20 мегабайт)
- Смонтировать EFI-раздел в систему.
Узнать номер раздела EFI можно командой diskutil list.
В моем случае команда будет выглядеть так:
Скопировать OneFileLinux.efi в раздел EFI
Добавить вариант загрузки в NVRAM
Опция nextonly означает, что данный вариант загрузки будет выполнен один раз. Следующая перезагрузка восстановит прежние настройки. Поэтому, чтобы вернуться из Linux в macOS, достаточно перезагрузиться еще раз.
В последних версиях macOS, начиная с El Capitan, используется технология System Integrity Protection (SIP), так называемый «без root-вый режим». Эта технология запрещает модификацию системных файлов и переменных даже суперпользователю. SIP включен по умолчанию, поэтому последняя команда bless вернет ошибку. Ее можно выполнить из Recovery Mode. Для это нужно зажать cmd+R при включении компьютера и открыть консоль
Utilities —> Terminal. В консоли выполнить шаги 2 и 4. Команды в Recover консоле нужно вводить без sudo.
Теперь каждый раз, когда вам потребуется загрузить OneFileLinux.efi, достаточно выполнить шаги 2 и 4 в консоли Recovery, или из основной системы, если SIP выключен.
Наверное, можно выполнить bless без монтирования раздела, но я не нашел, как это сделать. Тогда было бы достаточно одной команды.
Инструкция для PC
Вариантов загрузки на PC множество. Если ваша материнская плата имеет встроенный UEFI Shell, достаточно в нем указать путь к файлу OneFileLinux.efi, чтобы единожды загрузиться в Linux. Я опишу процесс настройки на моем Thinkpad X220.
- Скачать OneFileLinux.efi и положить его на EFI-раздел
- Добавить опцию загрузки в NVRAM
Во время загрузки нажать F12 и выбрать нужный вариант
Инструкция по сборке из исходников
Исходники проекта github.com/zhovner/OneFileLinux
Дистрибутив собран на чистом ядре 4.16-rc1 с kernel.org и Alpine Linux Mini Root filesystem.
Его можно легко собрать самостоятельно.
Подготовка initramfs
Initramfs — это образ диска, который монтируется в памяти при загрузке ядра. В обычных дистрибутивах в него помещаются драйвера, требующиеся на раннем этапе загрузки. В него можно поместить полноценную корневую файловую систему.
Я использовал корневую файловую систему от Alpine Linux. Это минималистичный дистрибутив для встраиваемых систем и контейнеров. У него существует вариант поставки без ядра и предустановленных программ, только корневая файловая система на базе busybox и пакетный менеджер apk.
chroot-имся в alpine linux:
Находясь внутри окружения, можно внести нужные изменения. Добавить пакеты через «apk add», модифицировать сервисы используя openrc.
Вся необходимая информацию есть в wiki.
Сборка
Запустить скрипт сборки. Он соберет модули ядра, поместит их в initramfs, и соберет ядро.
Помогите!!111
На данный момент дистрибутив достаточно кривой. Если вы умеете линуксы, я буду очень признателен за любую помощь. Будет круто, если получится допилить этот проект до приемлемого уровня.
Источник
Как установить 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?
Источник