Mac OS X на оборудовании x86 Технический архив 2008–2024
InfiniteMac OSx86 › Snow Leopard 10.6 › Установка Mac OS X 10.6 Snow Leopard на материнс…
239,943 reads · 2009-08-23 – 2009-09-04
Отчёт Snow Leopard 10.6 Gigabyte G31M / P35

Установка Mac OS X 10.6 Snow Leopard на материнскую плату Gigabyte GA-EP45-UD3P

Разбор причин паники ядра при первом старте с жёсткого диска и пошаговые рецепты успешной установки розничной версии Mac OS X 10.6 Snow Leopard на популярную материнскую плату Gigabyte GA-EP45-UD3P.

Основной автор
@dmtza Опубликовано 2009-08-23
Раздел архива
Snow Leopard 10.6
Охват в архиве
239,943 просмотров · 22 отобранных заметок (из 26 исходных сообщений) · 2009-08-23 – 2009-09-04
Участники обсуждения (6)
@machinist (10)@skydrone (9)@Obecny (4)@dmtza@DocShadow@mitchde
Справочник оборудования
Gigabyte Motherboards ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
Полный технический перевод на русский язык · Все команды терминала, имена кекстов, узлы ACPI и флаги загрузчика сохранены в оригиналеОткрыть оригинал на английском (Original English) →

Пытаюсь установить Snow Leopard на материнскую плату Gigabyte GA-EP45-UD3P, но система падает в панику ядра (Kernel Panic) сразу же при попытке загрузиться с жёсткого диска со свежеустановленной SL.

Кому-нибудь уже удалось успешно завести Snow Leopard на этой материнской плате? Поделитесь рабочей методикой!

Полевые заметки и отчёты сообщества

Отобрано 22 технических ответов из 26 исходных сообщений темы

Заметка #1 @Obecny 2009-08-23

Присоединяюсь к вопросу! На плате GA-EP45-UD3P ловлю панику ядра при первой же загрузке, причём без разницы — с флагом -x32 или -x64.

Заметка #2 @DocShadow 2009-08-23

Эта проблема не специфична именно для данной платы — на форуме есть несколько тем с разбором типичных причин паники ядра после установки.

Если вкратце: если паника происходит в самом начале загрузки — дело в загрузчике или отсутствующем fakesmc.kext; если уже при входе на Рабочий стол — в невосстановленных правах доступа и кэше кекстов.

Заметка #3 @machinist 2009-08-23

На UD3P всё работает отлично!

Вы читали руководство на сайте Project Snow? Его автор использует родственную плату GA-EP45T-UD3P и даёт исчерпывающую пошаговую инструкцию по установке.

У меня как раз связка GA-EP45-UD3P с процессором Core 2 Quad Q6600. Snow Leopard прекрасно работает всего с четырьмя дополнительными кекстами и пропатченным файлом DSDT (единственная заминка у меня связана с капризной видеокартой Sapphire Radeon HD 3870).

В целом плата EP45-UD3P подходит для Snow Leopard просто идеально.

Заметка #4 @Obecny 2009-08-23 ↳ Re: @machinist
@machinistВы читали руководство на сайте Project Snow? Его автор использует родственную плату GA-EP45T-UD3P и даёт исчерпывающую пошаговую инструкцию по установке. У меня как раз связка GA-EP45-UD3P с процессором Core 2 Quad Q6600. Snow Leopard прекрасно работает всего с четырьмя дополнительными кекстами и пропатченным файлом DSDT...

А вы не могли бы залить куда-нибудь свой пропатченный DSDT.aml для EP45-UD3P или прислать мне его на почту?

Заметка #5 @machinist 2009-08-23

По поводу DSDT

Автор блога Project Snow выложил там свой файл DSDT как в исходном текстовом формате .dsl, так и в скомпилированном виде .aml. Единственное — его секция звука, скорее всего, не заработает у вас с ходу: при использовании layout-id "12" возникают проблемы с выводом через чёрный разъём на задней панели. Попробуйте указать в DSDT layout-id "66" (в шестнадцатеричном виде — 0x42, 0x00, 0x00, 0x00) с правильным codec-id, и звук кодека ALC889a заработает как часы.

Кроме того, на форуме InsanelyMac есть отдельная ветка с подробным PDF-руководством по самостоятельному патчингу DSDT специально для линейки плат Gigabyte EP45-UD3x под Snow Leopard (а для тех, кто читает по-испански, отличная база знаний от Pere собрана на сайте osx86.es).

Впрочем, сам по себе файл DSDT вряд ли избавит вас от стартовой паники ядра — расскажите подробнее, какое именно у вас железо и на чём останавливается загрузка?

Заметка #6 @Obecny 2009-08-23

Добавил конфигурацию своего компьютера в подпись и отправляюсь штудировать англоязычное руководство по патчингу DSDT!

Заметка #7 @skydrone 2009-08-24

machinist, подскажите, а служба Bonjour на встроенной сетевой карте этой платы у вас работает?

У меня почему-то нет.

И какие именно 4 кекста вы используете?

Заметка #8 @machinist 2009-08-24

skydrone:

У меня со штатным драйвером контроллера RTL8169/8111C, прописанного через DSDT, служба Bonjour тоже не работает ни в 10.5.8, ни в 10.6 (хотя сама гигабитная сеть в режиме Full Duplex работает отлично). Я ещё не оставил попыток победить эту проблему: сегодня скачал с сайта Realtek официальный драйвер под Mac для чипов 8169/8111, но после установки ничего не изменилось. Если найду красивое решение для Bonjour — обязательно отпишусь.

А какие способы включения Bonjour вы уже пробовали?

Четыре кекста, которые я использую в Snow Leopard:
- fakesmc.kext
- NullCPUPowerManagement.kext
- OpenHaltRestart.kext
- PlatformUUID.kext

А какой набор стоит у вас?

Заметка #9 @skydrone 2009-08-24

У меня ситуация один в один: сама сеть спокойно работает на скорости 1 Гбит/с, в боковой панели Finder видны общие папки SMB и к ним есть доступ, но программы, завязанные на протокол автообнаружения Bonjour (например, Cyberduck или синхронизация Things с iPhone), не видят в локальной сети ни одного устройства.

Вечером дома попробую поставить кекст RealtekR1000.kext и отпишусь о результатах.

Набор кекстов у меня такой же, плюс дополнительно стоят SleepEnabler.kext и Disabler.kext (без них на моей системе не работает режим сна).

Заметка #10 @mitchde 2009-08-24

Проблему с работой Bonjour и Time Machine (у них один и тот же корень!) можно решить правкой таблицы DSDT.
Суть в том, что без инжекта свойств OS X не считает сетевую карту «встроенной» (built-in), из-за чего блокируются функции Bonjour и резервного копирования Time Machine.
Патч Time Machine Fix в DSDT прописывает свойство built-in для сетевых интерфейсов на уровне ACPI, так что патчить кексты IONetworkingFamily.kext больше не требуется.

Подробности здесь:
http://www.insanelymac.com/forum/index.php?showtopic=14… ↗

Заметка #11 @skydrone 2009-08-24

Спасибо за наводку, mitchde!

А вы сами проверяли этот DSDT-патч именно на плате EP45-UD3P с Snow Leopard? Действительно ли с ним начинает работать Bonjour? Как только доберусь до дома — сразу проверю.

Заметка #12 @skydrone 2009-08-24

Для тех, кто хочет протестировать прямо сейчас, вот фрагмент кода метода _DSM, который нужно добавить в секцию сетевого контроллера внутри вашей таблицы DSDT:

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"built-in",
Buffer (One)
{
0x01
},

"device_type",
Buffer (0x09)
{
"ethernet"
},
"name",
Buffer (0x24)
{
"Realtek RTL8111/8168B PCI-E Gigabit"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

Заметка #13 @machinist 2009-08-24

skydrone

На моей машине этот блок кода в DSDT ничего не изменил. Со штатным драйвером RTL8169/8168 в 10.6 служба Bonjour по-прежнему работает лишь «в одну сторону»: общие папки этого хакинтоша автоматически видны в боковой панели Finder на других Mac в сети, но сам этот хакинтош в упор не видит в Finder ресурсы других компьютеров и не получает мультикаст-пакеты! А вот со сторонним 32-битным кекстом RealtekR1000.kext (от Psystar) обнаружение сразу начинает работать в обе стороны.

А у вас этот код в DSDT дал двустороннюю работу Bonjour?

mitchde: статус built-in необходим для работы Time Machine и App Store, но для починки приёма мультикаст-пакетов Bonjour на чипах Realtek 8111C/8168 в Snow Leopard его одного недостаточно — оба гигабитных порта на моей плате давно прописаны через DSDT как built-in (и синхронизированы с PlatformUUID.kext, см. обсуждение ошибки 35 на форуме Voodoo: http://forum.voodooprojects.org/index.php?PHPSESSID=hc9… ↗), но со штатным драйвером AppleRTL8169Ethernet Bonjour работает только наполовину.

Точно с таким же поведением столкнулся и автор руководства по плате EP45T-UD3P: http://www.insanelymac.com/forum/index.php?showtopic=16… ↗ (правда, он ошибочно предположил, будто ни один настоящий Mac не оснащается двумя сетевыми портами, забыв про рабочие станции Mac Pro).

Заметка #14 @skydrone 2009-08-24

Добрался до дома и первым делом попробовал добавить RealtekR1000.kext в /Extra/Extensions.mkext с загрузкой в 32-битном режиме (arch=i386).

Никаких изменений: шары SMB в Finder видны, но вкладка Bonjour в Cyberduck по-прежнему не находит мой iPhone.

Как проще всего достоверно проверить работу Bonjour?

Заметка #15 @skydrone 2009-08-24

Ура, заработало! Наконец-то!

Оказывается, достаточно просто перевести сетевой интерфейс в неразборчивый режим приёма пакетов (promiscuous mode)!

Заметка #16 @machinist 2009-08-24 ↳ Re: @skydrone
@skydroneУра, заработало! Наконец-то! Оказывается, достаточно просто перевести сетевой интерфейс в неразборчивый режим приёма пакетов (promiscuous mode)!

Мои поздравления, skydrone!

Это со сторонним кекстом R1000 или со штатным драйвером?

И какой именно утилитой вы включаете режим promisc для встроенного контроллера RTL8111C/8168?

Заметка #17 @skydrone 2009-08-25

Спасибо, machinist!

Никаких сторонних кекстов вроде R1000 ставить вообще не нужно — всё работает на 100% со штатным 64-битным драйвером Apple!
Достаточно скачать модифицированную сборку системной утилиты ifconfig (с поддержкой флага promisc в OS X) вот отсюда:

stan ford.edu/~dub/macstuff/ifconfig.tgz

и прописать включение режима promisc для сетевого интерфейса en0 в автозагрузку при каждом старте системы.

Заметка #18 @machinist 2009-08-31

Bonjour

skydrone:

Большое спасибо за ссылку на модифицированный ifconfig! К сожалению, на моей текущей тестовой установке даже после включения режима promisc проблема осталась прежней: соседний Mac видит общие папки этой машины в боковой панели Finder, но сама эта машина чужие компьютеры по Bonjour в Finder не отображает. А у вас двусторонний обзор в Finder заработал?

Я пробовал также принудительно включить параметр checksum offload внутри кекста 8168/8169 в составе IONetworkingFamily.kext, но тоже безрезультатно. Продолжаю копать дальше!

Заметка #19 @skydrone 2009-08-31

machinist,

Попробуйте вернуть полностью оригинальные (ванильные) системные кексты без каких-либо ручных правок в IONetworkingFamily.kext, после чего активируйте promisc через модифицированный ifconfig и проверьте, появился ли флаг PROMISC в выводе статуса интерфейса.

А для быстрой проверки входящих анонсов Bonjour очень удобно открыть вкладку Bonjour в FTP-клиенте Cyberduck или в Safari. Этот способ уже помог десяткам владельцев плат Gigabyte, так что и у вас обязан сработать!

Заметка #20 @machinist 2009-08-31

skydrone:

Проверил со всеми ванильными кекстами — флаг PROMISC в выводе ifconfig горит, но второй хакинтош в боковой панели Finder появляется только тогда, когда я подкидываю старый кекст RealtekR1000.kext. Видимо, на этой конкретной установке я что-то перемудрил во время прошлых экспериментов с сетью.

Заметка #21 @machinist 2009-09-01

skydrone:

Кстати, метод с ifconfig promisc сейчас активно обсуждают вот в этой профильной теме на InsanelyMac:

http://www.insanelymac.com/forum/index.php?showtopic=18… ↗

Там в последних сообщениях у одного пользователя с ним сразу заработал полноценный двусторонний Bonjour, а у другого — точно такая же односторонняя видимость, только наоборот.

Заметка #22 @machinist 2009-09-03 ↳ Re: @skydrone
@skydronemachinist, Попробуйте вернуть полностью оригинальные (ванильные) системные кексты без каких-либо ручных правок...

skydrone:

Докладываю: после чистой Retail-переустановки Snow Leopard и включения режима promisc через ваш ifconfig служба Bonjour наконец-то заработала в полном объёме в обе стороны! Теперь все хакинтоши в моей домашней сети прекрасно видят друг друга в Finder. Огромное спасибо!

Проверили и дополнили материал: @machinist @Obecny @skydrone
Источники и реестр соавторов (указано участников: 6 · Тема #3747)
УчастникРоль в досьеСообщенийПериод активности
@machinistКлючевой участник102009-08-23 → 2009-09-03
@skydroneКлючевой участник92009-08-24 → 2009-09-04
@ObecnyКлючевой участник42009-08-23 → 2009-08-24
@dmtzaОсновной автор12009-08-23
@DocShadowУчастник12009-08-23
@mitchdeУчастник12009-08-24

Выберите язык · Choose your language