субота, 3 липня 2010 р.

Установка Mac Os X в эмуляторе virtualbox на linux



В последнее время все больше народу на просторах бывшего Союза ;) интересуются продукцией Apple. Ну, про iPhone с iPad я рассказывать ничего не буду, зато смогу немного про MacOS X. Точнее даже не про нее, а про то, как с ней познакомиться, не покупая дорогущую железку.

В самом деле, платформа у маков - Intel. Вполне логично поставить эмулятор и внутри него развернуть MacOS. Hackingtosh - вещь хорошая, но! Это патченый дистрибутив, с изменениями в ядре системы. И никто не гарантирует, что какой-то вылезший глюк - не есть результат патча.

К счастью, Oracle очень сильно помог потенциальным любителям надкусанных яблок, включив в virtualbox поддержку MacOS. Официально в эмуляторе можно запустить макос только при условии, что хост-платформа тоже Mac. На деле все оказывается гораздо приятнее - можно установить оригинальный дистрибутив MacOS X в эмулятор!

Информации в сети по этому вопросу много. Однако мне не удалось найти 100%-го решения, на практике пришлось собирать информацию по частям и действовать методом научного тыка. Далее я опишу полностью рабочую последовательность. Разумеется, я не могу гарантировать, что все сработает как надо на другой машине, но у меня все получилось


Итак, что же нам понадобится?
Самое главное - железо. Процессор хоста должен быть от Intel и уметь аппаратную виртуализацию. Я пользуюсь Intel Core 2 Duo. Наверняка годится Quad. Скорее всего, должно получиться и на более старших платформах - i5, например. Но в сети я встречал сообщения, что были проблемы. Мне, к сожалению, попробовать пока негде. Однозначно не годятся платформы на базе AMD и всякие целероны с пентиумами - работать не будет. В таком случае выход один - искать патчи или пользовать хакинтош.

Оперативная память (RAM) - чем больше тем лучше. Самый минимум - 2Gb, при условии, что не используется KDE или гном. Иначе - 3Gb. Я имею ввиду - для комфортной работы, а не просто запустить и наблюдать бесконечный своп. На моей машине с KDE 4.4 2Gb было мало, после запуска инсталляции макос работать было практически невозможно.

Далее нам нужна свежая версия virtualbox. У меня установлена 3.2.6-r63112 (самая свежая на текущий момент).
Для более ранних версий (в частности 3.1.x) метод может не сработать

Ну и напоследок нам нужно разжиться оригинальным диском с MacOS Snow Leopard 10.6 или его iso образом. Где взять - чур у меня не спрашивать ;) Если MacOS находится на диске, удобней сделать iso образ - с ним легче работать да и быстрее.

Перво-наперво загружаем загрузчик iBoot. Он нам понадобится только один раз - для инсталляции с оригинального диска, потом возможностей эмулятора вполне достаточно. Я брал его со странички tonymacx86 blog, использовал iBoot-Supported.

Далее с помощью визарда virtualbox создаем виртуалку для MacOS Server. Можно использовать рекомендованные значения. ВАЖНО - оперативной памяти нужно не меньше чем 1024М, иначе инсталлятор не запустится! У меня лично этот момент отнял несколько часов, пока дошло - нигде внятно это требование не озвучивается. После создания виртуальной машины редактируем ее свойства. Надо поправить следующее:
  • В разделе Система отключить EFI (только на период инсталляции)

  • В разделе Дисплей увеличиваем размер видеопамяти до 128М (очень экономным можно поиграться, 128М работает точно). Включаем 3D ускорение

  • В разделе Носители устанавливаем тип IDE контроллера ICH6

  • В разделе Сеть->Дополнительно устанавливаем сетевой адаптер Intel Pro 1000 MT Desktop


Все сохраняем и выходим из virtualbox. Это важный момент, следующее действие - редактирование файла описания виртуальной машины. Если не закрыть virtualbox, изменения, сделанные вручную, не сохранятся.

Редактируем файлик настройки $HOME/.VirtualBox/Machines/machinename/machinename.xml
В секцию <ExtraData> нужно добавить строки:
<ExtraDataItem name="VBoxInternal2/Devices/e1000f/0/Trusted" value="integer:1"/>
<ExtraDataItem name="VBoxInternal2/EfiBootArgs" value=" "/>
<ExtraDataItem name="VBoxInternal2/EfiGopMode" value="3"/>
<ExtraDataItem name="VBoxInternal2/SmcDeviceKey" value="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"/>
<ExtraDataItem name="VBoxInternal2/SupportExtHwProfile" value="on"/>


Отдельно хочу обратить внимание на строку
<ExtraDataItem name="VBoxInternal2/EfiGopMode" value="N"/>

Число N может принимать значение от 0 до 4 и определяет разрешение экрана в виртуальной машине соотвественно 640x480, 800x600, 1024x768, 1280x1024, 1440x900. К сожалению, другие разрешения не поддерживаются, выбирайте кому какие ближе, в зависимости от монитора.

Сохраняем измененный файл. Снова запускаем Virtualbox.

Настраиваем загрузку с iso образа iBoot. Запускаем виртуалку. Когда загрузчик запустится, на экране появится изображение красного яблока и лазерного диска с подписью iBoot. Теперь через управление CD/DVD дисками виртуальной машины (правый нижний угол окна виртуалки, правой кнопкой мышки на изображении лазерного диска) меняем диск в виртуальном приводе на образ макос. Нажимаем F5, подпись iBoot под лазерным диском на экране сменится на имя диска с Mac OS X. Нажимаем Enter. Начнет загружаться инсталлятор.

Как ставить макос - в инете много информации. Да ничего там сложного нет, единственная неочевидная вещь - нужно после загрузки инсталлятора переразметить "пустой" харддиск, через специальную утилитку.

По окончании установки инсталлятор сообщит, что Installation failed. Ничего страшного, на самом деле это далеко не так :) - все уже установлено.

Останавливаем виртуалку, лезем в ее настройки и включаем EFI.

Запускаем виртуалку. Все, наш желанный Mac OS X Snow Leopard во всей красе :)

Все работает, за исключением звука. Драйвер можно взять здесь, с инструкциями по установке.

Удачи в инсталляциях всем жаждущим яблок! :)

6 коментарів:

  1. Делал все тоже самое, на экране появляется указатель мыши и все на этом заканчивается :(
    ps: если убрать на время установки EFI то загрузки с образа вообще не происходит

    ВідповістиВидалити
  2. Абсолютно неинформатичный вопрос.
    - макос вообще проинсталлилась? Или даже до инсталлера дело не дошло?
    - что за железо? Это самое главное! Я недаром писал про Core2Duo. Запросто может оказаться, что i5 или i7 не подойдут (я не проверял). AMD - 100% не подходит (проверено), если платформа AMD - путь один: хакинтош
    - какая версия virtualbox ? На четверке я не тестировал установку.

    EFI для использования обязательно, иначе macos грузиться не будет

    ВідповістиВидалити
  3. Вроде как по сравнению с предыдущими попытками установить макось на виртуалбокс сейчас все немного лучше. Но по-прежнему мешает процессор AMD (((
    Но есть нетбук с Intel Atom и без дисковода. с USB есть возможность поставить? (интересует Mac OS X Lion)

    ВідповістиВидалити
  4. На атоме макос не заработает.

    ВідповістиВидалити
  5. На атоме макос не заработает. - бред. на мелком нетбуке с атомом все завелось

    ВідповістиВидалити