Установка 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>
В этой простыне текста и цифр нет почти ни одного лишнего символа. Важнее всего параметр SMproductname — это и есть модель Мака. Эта модель должна соответствовать семейству (SMfamily) и двум серийным номерам (SMboardproduct и SMserial). Параметр SMUUID нужен для нормальной работы Time Machine.
Остальные параметры носят преимущественно «косметический» характер. Всё, что начинается с SMmem, определяет отображение в свойствах компьютера сведений о памяти. Отдельного разговора достоин параметр SMcputype. Формально он задаёт модель процессора, отображаемую в этом окошке:
Но пока дискуссии о том, влияет ли прописанный таким образом процессор на поведение системы, пока ещё не закончены. Кстати, выбор моделей тут невелик: Core 2 Solo, Core 2 Duo и две разновидности Xeon. Core i5 и Core i7, несмотря на своё присутствие в новейших iMac, пока в Mac OS X закрепились не окончательно. В Mac OS X 10.6.2 их идентификаторы просто не везде прописаны, из-за чего на окончательно полноценную их работу можно будет рассчитывать после выхода системы Mac OS X 10.6.3.
Пора подвести итоги. Правка SMBIOS — это не только эстетика, но и серьёзное воздействие на стабильность и скорость системы. Правильно подобранные параметры (в частности, модель Мака), снизят температуру процессора и сделают систему заметно более шустрой.
Далее по курсу — платформа AMD и все злоключения, которые ждут энтузиастов, пытающихся заиметь на ней хакинтоши.