Что нам стоит Mac построить? Устанавливаем МакОС на обычный компьютерСергей Исаков isakov@paritet-ft.ru Сложно не заметить любовь разработчиков и дизайнеров к продукции Mac. Стоит только открыть фотографии из офисов успешных IT-компаний и стартапов… Возникает желание попробовать хваленую систему самому, но серьезный ценник тут же остужает пыл. Однако выход есть! Компьютеры Apple Macintosh всегда были элитными и в нашей стране скорее представляют собой экзотику. Люди либо ничего про них не знают, либо восхищаются их красотой и удобством. Даже среди тех, кто все-таки знает, что это, многие не могут себе позволить такой компьютер, в первую очередь из-за стоимости. Еще больший аргумент против — якобы большие проблемы с программным обеспечением в России. Впрочем, некоторые компании стали продавать так называемые клоны системы, собранные на самом обычном железе, но при этом — с предустановленной MacOSX. Такая система практически неотличима от оригинальной, на ней можно запускать любые программы и даже обновлять ее в онлайне. Мы решили разобраться, как им такое удалось и как собирается хакинтош. А заодно – какие отличия имеются с оригинальной фирменной системой. Итак, устанавливаем на домашний PC, наряду с Windows, еще и MacOS (ХакОС) в пробных целях. В любой момент можно вернуться в привычную среду (и как там становится тоскливо после такого праздника жизни!). Выбор конфигурацииНа какое железо реально поставить МакОС? Не на любое! 1. ПроцессорОптимальным выбором будет Intel Core 2 Duo, но от Интел подойдут и Core Duo, Core Solo (Yonah), Core 2 Quad, Xeon, Pentium M (новой серии), Core i5, i7, Atom. Важно, чтобы они поддерживали набор инструкций SSE3; впрочем, с процессорами SSE2 (Pentium M (старый), Pentium 4) тоже реально, но с определенными проблемами. Аналогично можно попытаться поставить систему на AMD, но — используя специальное ядро, созданное для этих целей. Насчет Атома возникли новые сложности, впрочем, уже преодолеваемые хакинтош-сообществом. 2. Системная платаНа оригинальных Маках используются чипсеты Intel и nForce. Есть сведения о простой установке на чипсеты Intel 945, 975x, 965P, EP31, EP45 и другие. Более важно понятие южного моста: ICH7,8,10 поддерживаются оригинальными драйверами, ICH9 требует некоторых патчей, MCP79 тоже относится к родным мостам. Перечислить, какие есть платы на рынке с такими же чипсетами, нереально, да и сопоставить модель материнской платы с используемым южным мостом — тоже непростая задача. По производителям можно утверждать, что популярные ASUS и Gigabyte для этих целей вполне пригодны. Нужно понимать, что другие чипсеты nForce, VIA, SIS, AMD/ATI использовать скорее нельзя, чем можно, хотя есть и такие работающие хакинтоши. 3. ПамятьНичего особого. Если у тебя работает WindowsXP, то MacOSX тем более будет работать. 4. Жесткий дискОпять же, ничего необычного. Предпочтительнее с интерфейсом SATA, хотя и старый IDE интерфейс вполне пригоден. Размер – современный: 10 Гб достаточно для установки системы, которая еще займет место для виртуальной памяти, для файла гибернации и собственных кешей, но всегда хочется чего-то большего, и программ поставить, и музыки, и фильмов... Модель значения не имеет. 5. ВидеокартаПринципиально, что драйвера для видеокарт существуют только для современных Nvidia, ATI и Intel. И то не все модели. VIA Chrome, SIS, Matrox и большинство устаревших карт шансов не имеют. Более старые модели возможно использовать с MacOSX Tiger, а для современной Snow Leopard перечень приблизительно таков:
6. Звуковая картаДля устаревшего стандарта AC97 есть драйвер, подходящий для большинства карт производства Realtek и Analog Devices. Для нового стандарта HDA (High Definition Audio) есть варианты практически для всех встроенных карт. А вот с PCI-картами нужно выяснять индивидуально. 7. Сетевой адаптерПрактически любые на чипах Realtek или Marvell, несколько сложнее — с Intel и 3Com, также есть драйвера на некоторые карты Broadcom (440x, 5701). Приходится оговариваться, ибо есть проблемы с модификациями, например, Marvell 8071 или Intel 82567. А усилиями хак-сообщества созданы драйвера под некоторые модификации nForceLAN. 8. WiFi-адаптерВопрос актуален для владельцев ноутбуков. Работают адаптеры на чипах Atheros и Broadcom. Ниже по тексту будет пример оживления адаптера Broadcom 4315. 9. USB-устройстваВидеокамера, блютус, ТВ-тюнер, флеш-накопитель, WiFi, принтер, сканер, клавиатура и мышь работают практически все. 10. DVD-RW привод Тоже работают практически все, как с интерфейсом SATA, так и с ATA. Но последний вызовет некоторые проблемы при инсталляции. Видеокарта, даже если она не поддерживается, все равно будет показывать изображение в одном из стандартных режимов VESA, например, 1024х768, но отсутствие поддержки OpenGL ограничит тебя в списке программ, которые можно использовать. К примеру, не будут запускаться системные шахматы и DVD-player. Итак, в пробной конфигурации мы выбрали десктоп на основе системной платы Gigabyte EP45-UD3LR с процессором Intel Core 2Duo E7400, память 2х1 Гб, звуковая карта встроенная Realtek ALC888, сетевой адаптер Realtek 8168, видеокарта Palit Geforce 9600GT, жесткий диск SATA 250 Гб, DVD-RW Optiarc. В целом - современный середнячок эконом-класса. Выбор операционной системыНа Интел-совместимых компьютерах можно запустить MacOSX 10.4.x Tiger, MacOSX 10.5.x Leopard и новейшую MacOSX 10.6.x Snow Leopard. Разумеется, предпочесть стоит последнюю, но при этом:
Внешние различия между системами не столь и велики, да и совместимость с программным обеспечением не является решающим аргументом: все работает в Леопарде, и многое – в Тигре. С другой стороны, очень современным компьютерам может подойти только очень современная система, опять таки из-за драйверов. Вместе с развитием операционной системы трудилось и хак-сообщество, обеспечивая совместимость ОС со стандартными компьютерами. Так, для установки Тигра требовалось подменять ядро системы и ряд жизненно важных программ на модифицированные версии. В Леопарде появилось понятие ванильного ядра, т.е. оригинальное ядро от самой Эппл. Система стала родной, немодифицированной, только с небольшими добавками. В Снежном Барсе количество необходимых добавок убавилось, ниже мы расскажем, почему. Впрочем, эти трюки применимы и к Леопарду, просто они разработаны уже с выходом системы 10.6. По каждой из этих версий требуется отдельный рассказ, но речь пойдет только про последнюю, самую современную версию операционной системы с названием Snow Leopard (он же Барсик). Выбор дистрибутиваОригинальные компьютеры Apple Macintosh комплектуются дисками с операционной системой, однако эти диски являются модельно-зависимыми, и, стало быть, непригодны для наших целей. Пригодным будет диск с пометкой Retail, который является общим для всех моделей. Просто поставить с него систему на хакинтош не удастся, потому что он также рассчитан на оригинальный компьютер. В отличие от Microsoft Windows, Apple MacOSX не требует ввода серийного номера и активации, подразумевается, что подлинность компьютера заложена в нем самом. В компьютерах Apple модель и серийный номер, а также свойства установленных устройств (аудио, видео и других) заложены в EFI (http://en.wikipedia.org/wiki/Extensible_Firmware_Interface), в отличие от БИОСа большинства наших компьютеров. Некоторые файлы в системе зашифрованы, и ключ шифрования заложен в специальной микросхеме. Отсюда легко сделать вывод: для установки системы MacOSX на неоригинальный компьютер, эту защиту следует обходить еще на старте установки системы, т.е. старт должен быть с другого источника. Вариант: переделать сам установочный диск, чтобы он содержал в себе обход этой защиты, да еще и набор дополнительных драйверов, чтобы систему можно было поставить на более широкий круг компьютеров. Такой диск называется сборкой, и есть люди, которые их производят, возможно, и в коммерческих целях, а чаще за просьбу о пожертвовании. В чем минусы? Поскольку сборку делали не мы сами, то не знаем, что конкретно там изменено, и остается только верить, что исправления нужные и безопасные. Возможны изменения внешнего вида и логотипов — дескать, система неоригинальная и будьте добры видеть логотип создателя сборки. Не очень корректно, все же, сама система создана компанией Apple и ее стоит уважать. Для подобных случаев существует пакет Restore_Desktop_Settings, который нетрудно найти в интернете и с ним вернуть оригинальный вид оболочки. Еще один минус - версия системы. Сборки чаще всего имеют устаревшую версию. Впрочем, если постараться (о чем рассказано ниже), можно подправить систему таким образом, что ее реально будет апдейтить официальными пакетами от Apple. Плюс же сборки очевиден: установить систему получится за 10-20 минут, даже не имея никакого опыта в хакинтошестроении. Установка Ритейла потребует немалых усилий и знаний. Вкратце путь таков: скачать из Сети образ загрузочного диска или флеш-накопителя, содержащего минимальную ОС с минимальным набором драйверов, загрузиться с него в режим командной строки, вставить в привод ДВД инсталляционный диск Ритейл, смонтировать его и запустить с него инсталляцию. Широкое хождение имеет сборка 10А432 от dan1234, которая представляет собой тот же дистрибутив Ритейл, но с нужным загрузчиком, инсталляционным скриптом и набором драйверов. Выбрав эту сборку, ты можешь стартовать прямо с нее и иметь тот же результат с меньшим количеством усилий. Процесс инсталляцииМожет быть, на твоем компьютере уже стоит система Windows, и ты не хочешь ее уничтожать, а может быть, ты планируешь ее только поставить. В этом случае начинать следует с нее. Во-первых, МакОС требует, чтобы SATA-винчестер работал в режиме AHCI. Для южного моста ICH7 этого не требуется, а вот для других – более чем желательно. И если для Windows Vista в этом нет проблемы, то для Windows XP не все так гладко. Сам дистрибутив Windows XP SP2 не содержит драйвера AHCI и не пожелает устанавливаться на HDD в таком режиме, а после установки системы драйвер RAID/AHCI не хочет приниматься системой, потому что такое устройство не включено в БИОСе. Попытка же включения в БИОСе режима приводит к синему экрану при загрузке XP. Тупик?! Для южного моста ICH8 существует корректный инсталлятор драйвера, — ищи на прилагаемом диске, его также можно модифицировать для инсталляции на ICH9 путем редактирования inf-файла, заменой 2829 на 2929. Для других вариантов придется искать другие пути. Что ж, с этой проблемой ты справился, и Windows у тебя работает с винчестером в режиме AHCI. Преимущество скорости очевидно. Менее очевидно, но для нас важнее – совместимость с МакОС. Теперь следует выделить раздел для установки OSX. Раздел должен быть первичным, а не логическим диском в расширенном разделе! Простейший способ: щелкнуть правой клавишей мыши по значку «Мой компьютер», выбрать «Управление» —> «Накопители» и произвести стандартные действия по созданию нового первичного раздела в формате FAT32. Если это невозможно, то можно воспользоваться одной из программ управления разделами: Partition Magic, Paragon Partition Manager, Acronis. Существует и бесплатный, хорошо работающий способ: загрузиться с Ubuntu LiveCD, но не запускать инсталляцию Линукса, а набрать в терминале команду sudo gparted, пароль вводить не нужно. Программа gparted поможет совершенно корректно, без потерь данных, изменить размеры разделов и их расположение, создать новый раздел и отформатировать его. Итак, хороший вариант разбивки на разделы:
Теперь вставляем нашу загрузочную систему либо сразу сборку и грузимся с нее. На экране появляется сообщение про Darwin boot и приглашение нажать <F8>. Это стоит сделать для диагностики. В появившейся командной строке набираем -v, что означает «Verbose boot» - до загрузки графической оболочки мы будем видеть на экране пошаговый процесс загрузки системы. Хорошо, поскольку в случае неудачи ты будешь знать, на чем все дело остановилось. К примеру, одна из известнейших ошибок «till waiting for root device...» означает, что в загрузочной системе отсутствует драйвер контроллера DVD-накопителя. Один из вариантов – присоединить DVD-накопитель через USB-интерфейс, таким способом устанавливали Тигра на всевозможные конфигурации. Либо искать другую загрузочную систему :(. После пробега белых букв по черному экрану он, наконец, очистился, побелел, посинел, и перед нами приглашение на установку MacOSX, с его лицензионным соглашением. Не торопись! Сверху есть меню с утилитами, там следует выбрать Disk Utility, и с помощью него произвести форматирование выбранного раздела в формат Mac OS Extended (journaled). После завершения Disk Utility мы возвращаемся в инсталлятор, указываем, куда ставить систему, выбираем опции установки — и в добрый путь! Заметим, что сборки содержат очень много опций, в том числе модифицированные ядра, БИОСы, драйвера для всевозможных встроенных устройств, «очень полезные» или даже «необходимые» драйвера, а также набор утилит. Все это задумано не зря и не во вред пользователю, однако, если ты не уверен, что тот или иной драйвер подойдет, лучше их не выбирать, наверняка в интернете найдешь более современный вариант. А вот утилиты взять можно, их наличие системе не мешает. В упомянутой выше сборке от dan1234 есть еще загадочный шаг по изготовлению и установке файла DSDT (Differential System Description Table). Шаг обязательно стоит выполнить, если ты не готов сделать его по-другому. Ниже мы обсудим, что это и зачем. Словом, система установилась успешно, на что ей потребовалось 10 минут, и попросила перезагрузки... И здесь нас ждет «кернел паника», скорее всего, не последняя. Выглядит, как таблица цифр и некоторые буквенные идентификаторы. Иногда из этого можно понять причину краха. В данном случае система не сформировала правильный mkext (multiple kernel extensions, в первом приближении это архив драйверов). Продвинутые хакеры изготавливают его сами, подставляют в систему, после чего она грузится дальше. На вкладке приведен текст скрипта, который создает mkext.
Правда, в этом варианте предполагается, что ты имеешь установленную систему MacOSX на другом разделе, с которой можешь загрузиться, и выполнить этот скрипт. Следующий вариант тоже требует наличия MacOSX, но уже необязательно на том же компьютере. Суть в том, что, так или иначе загрузчик, установленный по умолчанию, необходимо менять, а вот с новейшим загрузчиком Chameleon-2 RC3 паники ядра уже нет, система сама создает мкекст. Загрузчик создан по лицензии OpenSource, потому доступен в интернете. Надо заметить, созданы его хорошие модификации, к примеру, PC-EFI 10.3 – 10.5 by Netkas. В архиве содержится много файлов, в данный момент интересны три из них:
Сделать это можно в любой операционной системе, к примеру, так это делается в MacOSX Один из вариантов, как можно сделать:
В файле smbios.plist самый интересный пункт — SMProductName. Как выяснилось, от того, как ты назовешь свой компьютер, он и работать будет по-разному. Тема, опять-таки, очень емкая, но для указанного выше десктопа оптимальным выбором является MacPro3,1.
В дальнейшем можно будет вернуться к родному кексту, исправив DSDT. Подменить одни файлы другими проще всего из Windows, только там нужно установить программу MacDrive, позволяющую писать в раздел, отформатированный в HFS+. Доступна 30-дневная рабочая версия, для этих целей вполне достаточно. Загружаемся в новую систему с ключами загрузки -v -f arch=i386. Пояснения:
Наконец-то! Экран приветствия, настройки нового пользователя, регистрация (не надо сообщать в Эппл свои данные, так что отключи интернет). Ты в системе. Дальнейшая адаптация системыОписанная выше процедура не всегда бывает успешной, но даже в тех случаях, когда система все же загружается, чаще всего, успех еще не полный. Дальнейшие инструкции помогут разобраться, что нужно сделать, если система не работает или работает неполноценно.
В этом списке наблюдается даже такая экзотика, как OpenVMS, но MacOSX здесь отсутствует, и поведение программы просто не определено. Наиболее общий совет – сделать так, будто мы работает в системе Windows XP SP3.
Да! Наша система идентифицируется ACPI как Darwin. Вернемся к тому, откуда этот текст, как его получить и использовать. Как видите, это программа, написанная на языке, сходном с С. БИОС, при старте компьютера, генерирует dsdt.aml, который исполняется где-то в фоновом режиме вне операционной системы. Эту программу можно сохранить в бинарном виде в файле в любой ОС, в том числе в Windows. Для этого существует DSDT GUI patcher for Windows. Если у тебя уже есть MacOSX, можно проделать эту операцию и в нем. Для этого необходимо создать такой скрипт:
Вызываем программу «Terminal». Создаем папку DSDT:
Помещаем туда этот скрипт, назовем его dumpACPI.sh. Помещаем в эту же папку утилиту IASL (версию для Mac находим в интернете или на диске к журналу). И запускаем скрипт на исполнение:
У нас появляется вложенная папка acpitbls, внутри которой несколько файлов – ACPI-таблиц, среди которых и файлы dsdt.aml и dsdt.dsl. Последний представляет собой программу в текстовом виде, тогда как aml – в бинарном виде. Взаимное превращение одного в другое осуществляется компилятором iasl.
Файл dsl можно редактировать обычным текстовым редактором (но не виндусовыми Notepad, Wordpad, они создают другой конец строки, и текст будет капитально испорчен!), чтобы исправить алгоритм программы. Исправленный файл откомпилировать (
После перезагрузки системы изменения вступят в силу. Файл DSDT всегда индивидуален, чужой взять нельзя. Тот, что создан БИОСом, не рассчитан на работу с ХакОС, и даже не только в смысле идентификации системы, но и потому, что для MacOSX требуется больше информации об устройствах и иное распределение прерываний. Все это вместе — большая и достаточно сложная тема, в интернете выложены многостраничные инструкции в каких случаях и что нужно менять в этом файле. Краткий перечень:
Ну и, напоследок, приведем список необходимых драйверов, которые следует поставить в систему:
Установка любого драйвера осуществляется из терминала командой Внимание! Копирование текста с помощью мыши не приводит к его корректной инсталляции, такой файл будет иметь неправильные права и не примется системой. Идентификация устройствКаждое PCI-устройство имеет идентификаторы DeviceID и VendorID, каждое USB-устройство - idProduct и idVendor, каждое ACPI-устройство – имя типа PNPxxxx или ACPIxxxx. Во многих случаях патч родных драйверов заключается в подмене идентификаторов родных на свои. К примеру, установлен WiFi Adapter Broadcom 4315. Открываем в виндоусе «Диспетчер Устройств», находим его и смотрим сведения, совместимые коды оборудования. Узнаем, что DeviceID=4315 и VendorID=14e4. Затем смотрим в системную папку и находим похожий драйвер для Broadcom 4311, изучаем его info.plist
И вот что в нем:
Таким образом, драйвер рассчитан на разные варианты адаптеров, но не на 4315. А что, если вручную его туда прописать по образцу? Да! И это очень часто работает. В частности, в рассматриваемом варианте такая подстановка приводит к полноценно работающему драйверу. Обновление системыВыполняя обновление системы, непосредственно через Software Update... или просто загрузив Combo Update с официального сайта Apple, важно помнить, что именно ты менял в системе, чтобы после апдейта «привести ее в чувство». В частности, в вышеприведенном примере с WiFi после апдейта цифру 4315 придется вводить заново. Если ты используешь VoodooHDA, предварительно удалив AppleHDA, то после апдейта он появится вновь, и конфликт приведет к краху системы. Чтобы этого избежать, перед обновлением следует переместить VoodooHDA в безопасное место, а после успешного обновления вновь его установить. Аналогичные рекомендации будут и относительно других родных кекстов, которые ты по той или иной причине удалил. Существует вариант Disabler.kext, который позволяет не удалять родные кексты, а просто отменить их загрузку, в этом варианте обновлению вообще ничего не мешает. Переход на настоящий MacУстанавливая таким образом MacOS X, теряешь одну из главных фишек системы – чрезвычайную продуманность, всецело избавляющую пользователя от головной боли по поводу чего-либо. Однако гиков такими проблемами не испугать. В принципе, с тем же успехом можно было взять готовую сборку ХакОС и получить систему за 15 минут. Поэтому наша цель была глубже, и теперь мы не только знаем, каким образом устанавливается MacOSX на обычный компьютер, но и каким образом может на нем работать. Впрочем, привыкнув к системе, очень скоро понимаешь, что надо покупать оригинальный Mac и не идти ни на какие компромиссы :). |