Обновление Леопарда до 10.6.2

10.6.2 Snow Leopard

Буквально на днях вышел в свет очередной апдейт яблочной операционки. Обновление до предыдущего релиза 10.6.1 через встроенный system updater прошло без проблем, чего я, собсвтенно, ожидал и от новой версии 10.6.2. Однако, не все прошло так гладко, как хотелось...

В релизе 10.6.2 обновилось ядро системы (kernel) до 10.2.0. Ну и что, спросите вы... а то, что в хакинтошах присутствует ряд неродных kext-ов, котороые и заставляют ОСь работать на "инородном" железе. В них то все и дело, т.к. нет гарантии, что они все написаны грамотно, не завязаны на конкретную версию ядра системы или еще чего. В общем, после перезагрузки машины я получил Kernel Panic, причем самый противный, который только может быть - вылетал он сразу после начала загрузки системы, то есть загрузится в safe mode или single user mode не представлялось возможным. Ругалась ОСь на некий SleepEnabler.kext.

Не вопрос, подумал я. Слип на рабочей машине мне ниразу не нужен... да и не пользовался я им никогда и нигде, кроме ноутов. Чтобы исправить ситуацию, грузимся с любого загрузочного диска мак оси, открываем терминал и удаляем несчастный kext. При следующей загрузке пускаем систему с флагами -v -f, чтобы не использовались кэши кекстов и заодно, чтобы помониторить другие возможные ошибки.

В моем случае ошибок больше не было. Система загрузилась, как обычно шустро. Но это был еще не конец - опять пропал звук! Если вы читали серию предыдущих статей, посвященных установке леопарда на Intel PC, то поймете мои чувства :) Для тех, кто не читал - звук никак не хотел работать на свежеустановленной операционке, а потом еще пропал после апгрейда видео карты.

На этот раз звук вернул путем возвращения родного AppleHDA.kext от Snow Leopard 10.6, более грамотной компиляции DSDT.aml и использовании LegacyHDA.kext. Все эти файлы вы можете попробовать на своей системе, но я не гарантирую их работоспособность, особенно, если у вас звук не ALC888. Напоминаю, DSDT.aml должен лежать в корне загрузочного раздела, а LegacyHDA.kext в /Extra/Extensions.

Для самостоятельной компиляции DSDT.aml выкладываю свой кусок кода, отвечающий за аудио на базе ALC888:

Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D,
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0C)
                        {
                            "codec-id",
                            Buffer (0x04)
                            {
                                0x88, 0x08, 0xEC, 0x10
                            },

                            "layout-id",
                            Buffer (0x04)
                            {
                                0x78, 0x03, 0x00, 0x00
                            },

                            "device-type",
                            Buffer (0x07)
                            {
                                "ALC888"
                            },

                            "PinConfigurations",
                            Buffer (0x28)
                            {
                                /* 0000 */    0x50, 0x41, 0x01, 0x01, 0x50, 0x40, 0x21, 0x02,
                                /* 0008 */    0x30, 0x01, 0x10, 0x90, 0x20, 0x60, 0x01, 0x01,
                                /* 0010 */    0x70, 0x20, 0x01, 0x01, 0xA0, 0x90, 0xA1, 0x02,
                                /* 0018 */    0x10, 0x30, 0x81, 0x01, 0x40, 0x90, 0xA1, 0x01,
                                /* 0020 */    0x60, 0x61, 0x4B, 0x01, 0xF0, 0x01, 0xCB, 0x01
                            },

                            "reg",
                            Buffer (0x28)
                            {
                                /* 0000 */    0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x10, 0xD8, 0x00, 0x02,
                                /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
                            },

                            "platformFamily",
                            Buffer (One)
                            {
                                0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Долго пытался завести звук по разным манам и с различными кекстами - ни в какую. Но благодаря этой статье всё заработало на отлично.
Спасибо!

Отправить комментарий

Image CAPTCHA
Enter the characters shown in the image.
Реклама на stremoukhov.ru:
компьютерная помощь в медведково . Бизнес-услуги - раскрутка сайта киев.