Установка Mac OS X на PC. Часть 7: SMBIOS
Седьмая часть нашего долгого разговора о тонкостях установки Mac OS на PC будет посвящена эмуляции SMBIOS реального Мака. Сразу оговоримся, что это вопрос не первой необходимости, потому что и без правильной настройки этой хакинтошной приблуды ваш компьютер сможет работать вполне стабильно. Но вот если вашей целью стоит выжать максимум из имеющихся возможностей: заполучить хакинтош с полностью рабочим управлением питанием (особенно сном), который, к тому же, не грелся бы как печка, то без дополнительных настроек не обойтись.
К всеобщему счастью, на эти настройки у вас уйдёт максимум 10-15 минут.
Начнём с краткого экскурса. Во-первых, то, что мы будем далее называть SMBIOS, строго говоря, им и не является. SMBIOS, или System Management BIOS — спецификация, определяющая метод доступа данных к содержимому постоянной памяти компьютера. Но наш цикл статей отнюдь не о компьтерных спецификациях, поэтому объектом нашего внимания будет кекст AppleSMBIOS.kext.
Во-вторых, он достоин внимания хотя бы потому, что определяет то, какая информация будет отображаться о вашем оборудовании в сведениях о системе Mac OS X. Посредством данного кекста система узнаёт:
- с каким процессором она имеет дело
- какая память установлена
- какая модель Мака используется
Модель Мака заслуживает отдельного разговора. Пару лет назад никто и не догадывался, что модель Мака, прописанная через данный кекст, несёт какую-то смысловую нагрузку. Данная фишка воспринималась исключительно с эстетической стороны: например, чтобы в Finder ваш компьютер отображался как симпатичный iMac:
Ситуация кардинально изменилась, когда хакинтошное сообщество доросло до изобретения патча DSDT (см. предыдущую статью цикла). Этот самый патч дал, кроме всего прочего, возможность завести на хакинтошах с процессорами от Intel эппловскую систему управления электропитанием. Иными словами, отпала необходимость в блокировке кекста AppleIntelCPUPowerManagement.kext, который мы не раз называли вредным, т.к. без правильного DSDT он вызывает мгновенную панику ядра при старте системы.
И после этого многие экспериментаторы заметили неприятную особенность: при использовании «родного» управления питанием температура процессора поднимается на 10, а то и все 20 градусов. Выяснилось, что системе отнюдь не всё равно, какая модель прописана в SMBIOS.
Каждая модель любого Мака имеет специальный идентификатор (iMac9,1, MacBookPro5,2 и т.п.). Каждому идентификатору соответствуют свои, уникальные настройки оборудования, исходя из которых строится взаимодействие Mac OS X с»железом».
Отсюда вытекает важный вывод: модель Мака должна быть прописана не по вашему велению, а на основе сверки вашего процессора с процессорами реальных Маков. Чем ближе по характеристикам ваш процессор к процессорам Мака, тем более здоров и весел будет ваш хакинтош. В этом плане относительно повезло владельцам Intel Core 2 Duo, ну а особенно повезло — владельцам Core i5 и Core i7 (здесь наблюдается полное совпадение процессора). А вот Intel Core 2 Quad ни в одном Маке никогда не было, поэтому приходится с переменным успехом выдавать его за четырёхъядерные Xeon.
Есть и гораздо более радикальный способ — создание своего собственного идентификатора Мака. Это возможно, но процедура никак не может быть названа лёгкой. Поэтому пока не будем углубляться в этом направлении.
Сразу возникает вопрос: а стоит ли овчинка выделки? Честно отвечаем: если вам не нужен режим сна, и если вы вполне довольны работой хакинтоша, и если у вас нет больших объёмов свободного времени — то вряд ли.
Но продолжим разговор об SMBIOS. Раньше для подмены сведений требовалось править сам кекст AppleSMBIOS.kext. Современные загрузчики (вроде Chameleon или Boot Think), умеют работать со специальным файлов настроек SMBIOS.plist, в котором закрепляется та информация, которую следует подсовывать Mac OS X при загрузке. Выглядит этот файл примерно так:
<plist version=»1.0″><dict><key>SMbiosvendor</key><string>Apple Inc.</string><key>SMbiosversion</key><string>IM111.88Z.0034.B00.0910301977</string><key>SMbiosdate</key><string>11/06/2009</string><key>SMboardmanufacturer</key><string>Apple Computer, Inc.</string><key>SMboardproduct</key><string>Mac-F2254DAE</string><key>SMfamily</key><string>iMac</string><key>SMmanufacturer</key><string>Apple Inc.</string><key>SMproductname</key><string>iMac11,1</string><key>SMserial</key><string>W89233AKY51</string><key>SMsystemversion</key><string>1.0</string><key>SMUUID</key><string>00000000-0000-1000-8000-00761DACAF95</string><key>SMcputype</key><string>1281</string><key>SMmemtype</key><string>24</string><key>SMmemspeed</key><string>1333</string><key>SMbusspeed</key><string>4800</string><key>SMmemmanufacter</key><string>Kingston</string><key>SMmemserial</key><string>100000000</string><key>SMmempart</key><string>1</string></dict></plist>