Установка Mac OS X на PC. Часть 13: Готовимся к Lion

Надо признаться, давно мы не обновляли наш цикл об установке Mac OS X на PC. Конечно, многое уже было написано, многие актуальные темы — достаточно полно освещены, однако в июле перед всем хакинтошным движением встанет новая и очень важная проблема. Проблема эта называется OS X Lion.

Выход каждого нового поколения Mac OS X является знаковым событием не только для пользователей Маков, но и для всех тех, кто привык к хакинтошу. И если даже на реальных Маках при обновлении системы часто возникают проблемы, то для хакинтоша это является закономерностью. Поэтому сегодня мы решили поговорить об особенностях следующей «большой кошки», OS X Lion, с точки зрения хакинтоша. Если вы учтёте перечисленные ниже факты и советы, апдейт вашего хакинтоша до Mac OS X 10.7 пройдёт намного проще.

Безусловно, самые главные отличия Lion заключаются в придирчивости по части оборудования. Если в 2009 года Snow Leopard одним махом закрыл возможность апдейта для целой процессорной платформы PowerPC (хотя хакинтошникам сей факт, мягко говоря, до лампочки :), то в 2011 году Lion лишает поддержки все 32-разрядные процессоры Intel. Lion является практически полностью 64-битной системой, поэтому требует для установки процессор, поддерживающий 64-разрядные инструкции.

Официальный список поддерживаемых процессоров от Apple не назовёшь длинным:

  • Intel Core 2 Duo
  • Intel Core i3/i5/i7
  • Intel Xeon

На хакинтошах к этому перечню можно смело добавить остальные более-менее современные камни (например, Core 2 Quad). А вот AMD добавить никак нельзя, потому что пока Apple не откроет исходники ядра Mac OS X 10.7, нормального пропатченного ядра для амдшников ожидать не стоит (хотя поделки разной степени кустарности могут появиться и раньше). Открытие исходников обычно происходит через месяц-два после релиза.

Не думайте, что в Lion проверка совместимости ограничивается лишь запросом модели процессора. Всё намного более изощрённо: установщик Льва проверяет ещё и код модели материнской платы вашего «Мака». Если этот код в файле smbios.plist у вас не прописан (или если прописан не тот код), то установка дальше стартового экрана точно не пойдёт. На вопрос «огласите весь список, пожалуйста» ответим, что «весь список» собран на форуме AppleLife, причём с соответствием между моделями материнок и идентификаторами моделей самих Маков.

Многим будет довольно трудно смириться с тем, что их процессоры больше не поддерживаются, но это действительно так. Даже если вы обойдёте проверку совместимости и поставите Lion на компьютер с 32-битным процессором, у вас не будут работать большинство системных программ и процессов. Например, даже Finder в Lion внезапно стал исключительно 64-битной программой.

Другая причина для головной боли — процесс установки Lion. В Apple очень сильно хотели упростить жизнь пользователям Маков, но в итоге сильно усложнили жизнь пользователям хакинтошей :) Как известно, никаких дистрибутивов Льва в продаже не будет. Систему нужно будет скачивать из App Store в виде специального приложения-апдейтера. Если поковыряться в его недрах, то можно будет отыскать там два (!) установочных образа Mac OS X — основной и дополнительный, причём устроены они так, что один без другого никакой ценности не представляет, потому что в одном нет ядра, а в другом нет установочных пакетов. Вывод: надо их объединять.

Вспомогательный образ лежит в Install Mac OS X Lion.app/Contents/SharedSupport/InstallESD.dmg. Внутри него лежит образ basesystem.dmg, именно его нужно брать за основу. Проще всего развернуть его на внешний носитель или на небольшой раздел диска. Затем на этом разделе в /System/Installation/ надо удалить ярлык Packages, а на его место скопировать реальную папку Packages из InstallESD.dmg. Заодно из этого же образа в корень нового раздела надо скопировать файл ядра mach_kernel. Чтобы этот образ загрузился на хакинтоше, в папку /System/Library/Extensions надо положить все требуемые кексты, а чтобы эти кексты подгружались при загрузке, нужно удалить кэши в /System/Library/Caches/com.apple.kext.caches/Startup/.

Как и остальные версии Mac OS X, просто так накатить Льва на MBR-разметку не получится, нужно будет патчить ряд бинарных файлов. Эксклюзивная особенность Lion состоит в том, что лучше под него выделять полностью чистый винт. Во-первых, так вы обезопасите себя от возможных хулиганских выходок системы во время установки, а во-вторых, в этом случае Lion создаст на целевом диске специальный скрытый раздел, куда развернёт свой дистрибутив.

Не менее важный вопрос, который отличает хакинтошников от маководов — какой загрузчик использовать. На наше с вами счастье, прошли тёмные времена, когда Льва можно было загрузить только UEFI-загрузчиками (вроде XPC или iBoot). Уже довольно давно существует нормальный рабочий Chameleon, совместимый как с Lion, так и со Snow Leopard, при этом поддерживая все свои многочисленные фишки, включая и Graphics Enabler. Если вы будете пользоваться Chameleon в Lion, запомните новый важный ключ загрузки, который стоит добавить в com.apple.Boot.plist (кстати, в последних версиях Хамелеона этот файл зовётся org.chameleon.Boot.plist):

[php]<key>UseKernelCache</key>
<string>Yes</string>[/php]

Без этого ключа загрузка Lion будет неприятно долгой. С другой стороны, использование этого ключа заставляет систему игнорировать все остальные папки с кекстами, поэтому класть что-либо в /Extra/Extensions во Льве бессмысленно.

Пару слов скажем про заводку устройств:

  • серьёзно возросла роль DSDT. Если в Snow Leopard правильно отредактированная таблица DSDT была желательным, но необязательным условием, то в Lion на некоторых материнках без DSDT делать вообще нечего. Советуем позаботиться о правильной прописи всех USB-устройств, Ethernet-карточки и видеокарты.
  • очень важно, чтобы Ethernet был не только прописан в DSDT, но и проходил в системе под обозначением en0. Если это условие не соблюдается, ждите целый букет проблем в виде неработающего Mac App Store, глюков с FaceTime, Time Machine и пр.
  • в Lion совсем иначе устроен кекст AppleHDA.kext, поэтому информацию о layout и пинконфиги нужно будет перенести вручную по этой инструкции. А можно просто скопировать драйвер из Snow Leopard :)
  • ещё в Lion зачем-то поменяли устройство кекста AppleRTC.kext, в результате чего на многих хакинтошах в Lion вернётся старая проблема со сбросом БИОСа после режима сна. Можно также скопировать старый кекст из Барса, а можно и пропатчить новый через Терминал бесконечной командой:

[php]sudo perl -pi -e ‘s|\x8b\x45\xc8\x39\x45\xcc\x74\x0b|\x8b\x45\xc8\x39\x45\xcc\xeb\x0b|; s|\x8b\x45\xb4\x39\x45\xb8\x74\x08|\x8b\x45\xb4\x39\x45\xb8\xeb\x08|’ /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC[/php]

В остальном Mac OS X Lion по составу кекстов мало чем отличается от Snow Leopard 10.6.8. Увы, пока что в Lion не замечено ни поддержки самых крутых Радеонов (например, 6970), ни GeForce Fermi серии 5xx. Будет ли эта поддержка — неизвестно.

Если для вас принципиальна поддержка новой функции AirDrop (мгновенный обмен файлами по беспроводной сети между Маками), то знайте, что она работает только на некоторых AirPort-совместимых чипах:

  • Broadcom BCM94322MC
  • Broadcom BCM94322HM8L
  • Atheros AR5BXB112
  • Atheros AR5BXB92
  • Atheros AR5BHB92
  • Atheros AR5B93
  • Atheros AR5B95
  • Atheros AR5BXB72

Для Lion требуется отдельная версия утилиты Kext Utility, старой версии для Барса в 10.7 лучше не позволять хозяйничать.

Как видите, ничего нереально сложного в подготовке к апдейту хакинтоша до Lion нет, однако дел всё равно предстоит много. Мы не рекомендуем спешить с апдейтом тем, чей стаж в мире хакинтоша не превышает месяца-двух — лучше подождите несколько недель, когда соберётся достаточное количество отзывов о проблемах и их решениях. Остальным мы бы не советовали ставить Lion поверх Snow Leopard, потому что вариант с чистой установкой и последующим переносом нужных данных гарантированно обеспечит вам лучшую производительность системы.

Удачи вам с грядущим обновлением до OS X Lion ;)