Mac OS X на оборудовании x86 Технический архив 2008–2024
InfiniteMac OSx86 › Релизы ядер и новости сообщества › Открытое тестирование ядра Voodoo XNU 9.5.0 (уни…
493,765 reads · 2008-09-22 – 2008-09-24
Справочник Релизы и новости Chameleon / Boot-132 Voodoo / XNU Kernel AMD OSx86

Открытое тестирование ядра Voodoo XNU 9.5.0 (универсальное ядро Mac OS X 10.5.5 для процессоров Intel и AMD)

Команда XNU-Dev оперативно портировала опубликованные Apple исходные коды ядра Mac OS X 10.5.5 (Darwin 9.5.0) для работы на неподдерживаемых процессорах Intel и AMD со встроенным декриптором на лету, патчем CPUID и поддержкой параметра множителя шины busratio.

Основной автор
@R0GUE Опубликовано 2008-09-22
Раздел архива
Релизы ядер и новости сообщества
Охват в архиве
493,765 просмотров · 14 отобранных заметок (из 17 исходных сообщений) · 2008-09-22 – 2008-09-24
Участники обсуждения (8)
@gipo (3)@eMatoS (3)@Voyn1x (3)@R0GUE (2)@bhast2 (2)@pαuℓzurrr. (2)@elicip@adil2003
Справочник оборудования
USB 3.2 Boot Flash Drives ↗ AMD Desktop Processors ↗ Intel Core Processors ↗
Полный технический перевод на русский язык · Все команды терминала, имена кекстов, узлы ACPI и флаги загрузчика сохранены в оригиналеОткрыть оригинал на английском (Original English) →

Команда разработчиков XNU-Development не теряла времени даром, чтобы как можно скорее предоставить пользователям неванильных систем актуальное ядро для Mac OS X 10.5.5.

Apple оперативно опубликовала исходные коды ядра 10.5.5, а команда XNU-dev столь же быстро выполнила их портирование. Ядро версии 9.5 уже перенесено и проходит внутреннее тестирование. Следующая бета-версия ядра Voodoo будет базироваться уже на кодовой базе 9.5 (текущая версия Beta 1 основана на 9.4).

Скачать В настоящий момент идет открытое альфа-тестирование. Если вы хотите помочь в тестировании, ознакомьтесь со списком оборудования на странице Hardware ↗, после чего скачайте сборку Alpha 9 ядра 9.5 с этой страницы ↗.

Информация для тестировщиков
Пожалуйста, сообщайте обо всех найденных ошибках в трекере на странице Issues ↗. Также обязательно прочитайте этот пост ↗, чтобы узнать, как снять лог идентификатора процессора (CPUID log), и приложите его к вашему отчету об ошибке — это огромная помощь в диагностике проблем!

Если система не загружается вовсе, работает с нарушением таймингов или слишком долго переходит к графическому интерфейсу (синему экрану), попробуйте указать следующие флаги загрузки:

Специально для процессоров AMD: -amd -emulateintel (начиная со сборки alpha8 эти флаги обычно больше не требуются).
Также можно попробовать флаг -force64 для проверки экспериментальной поддержки 64-битного режима на AMD — но эта функция находится на самой ранней стадии разработки, поэтому не ждите от нее полной работоспособности!

Для всех платформ: busratio=xx
где xx — множитель частоты вашего процессора (тактовая частота процессора, деленная на частоту системной шины FSB). Частота шины FSB обычно составляет 100, 133, 166, 200, 333 или 400 МГц.

Требования к загрузчику
Вам необходим загрузчик с поддержкой эмуляции EFI! Настоятельно рекомендуется использовать Chameleon.
Владельцам процессоров Pentium 4 (и ряда других CPU) потребуется обновленная версия Chameleon — старые варианты вроде dfe boot132 могут не сработать!
Обновленный загрузчик Chameleon будет опубликован на официальном сайте одновременно с выходом финального релиза ядра Voodoo. До тех пор используйте при загрузке параметр busratio, как описано выше.

Более подробную информацию о проекте XNU-Dev и ядре 9.5.0 можно найти на официальной странице XNU-Dev ↗.

Дополнения автора и технические ревизии

Последующие дополнения автора @R0GUE

Дополнение автора #1 @R0GUE 2008-09-22 ↳ Re: @elicip
@elicipА есть ли соответствующий System.kext версии 9.5.0?

Вот архив с System.kext версии 9.5.0 (rogue.infinite mac.com/files/950_System_kext.zip). Удачного тестирования!

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

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

Заметка #1 @gipo 2008-09-22

Протестировал новое ядро 9.5.0 XNU...
В целом всё работает нормально, вот только звук при начале воспроизведения хрипит и трещит первые 3 секунды, а затем играет чисто.
Это происходит при запуске абсолютно любого аудиопотока, даже системных звуков вроде очистки Корзины — через пару секунд хрип пропадает...
Пока откатился обратно на ядро 9.4.0 XNU, на котором у меня всё работает безупречно.

Заметка #2 @bhast2 2008-09-22

Ты забыл указать при загрузке параметр busratio.

Чтобы избавиться от хрипов звука, нужно обязательно передавать ядру правильный множитель busratio.
Например, у меня частота шины FSB равна 200 МГц,
а тактовая частота процессора — 2,6 ГГц.
Делим 2600 на 200
и получаем множитель 13.
Поэтому я загружаюсь с флагом busratio=13.

Подтверждаю, что с этим параметром звук работает идеально.
В будущих сборках автоопределение поправят, ведь сейчас это только альфа-версия.

Заметка #3 @pαuℓzurrr. 2008-09-22 ↳ Re: @bhast2
@bhast2Ты забыл указать при загрузке параметр busratio. Чтобы избавиться от хрипов звука, нужно обязательно передавать ядру правильный множитель busratio. Например, у меня частота шины FSB равна 200 МГц, а тактовая частота процессора — 2,6 ГГц. Делим 2600 на 200 и получаем множитель 13. Поэтому я загружаюсь с флагом busratio=13. Подтверждаю, что с этим параметром звук работает идеально. В будущих сборках автоопределение поправят, ведь сейчас это только альфа-версия.

А как узнать частоту своей шины FSB? У меня процессор тоже на 2,6 ГГц...

UPD: Вопрос снят, у меня шина тоже 200 МГц, так что множитель такой же...
UPD 2: Подтверждаю, теперь со звуком полный порядок!

Заодно попробовал загрузиться в 64-битном режиме, но система зависает сразу после загрузки кекста AppleNForceATA. Впрочем, я и не ждал, что 64 бита заработают с ходу, но начало положено.

Заметка #4 @gipo 2008-09-22 ↳ Re: @bhast2
@bhast2Ты забыл указать при загрузке параметр busratio. Чтобы избавиться от хрипов звука, нужно обязательно передавать ядру правильный множитель busratio. Например, у меня частота шины FSB равна 200 МГц, а тактовая частота процессора — 2,6 ГГц. Делим 2600 на 200 и получаем множитель 13. Поэтому я загружаюсь с флагом busratio=13. Подтверждаю, что с этим параметром звук работает идеально. В будущих сборках автоопределение поправят, ведь сейчас это только альфа-версия.

Обязательно попробую прописать busratio при первой возможности и отпишусь о результатах.
Можно ли посмотреть реальную частоту FSB и процессора через утилиту CPU-Z? Просто у меня система слегка разогнана, так что значения нестандартные...
Спасибо за наводку, bhast!

Заметка #5 @eMatoS 2008-09-22

Всё работает отлично, но загрузиться в 64-битном режиме не удается — система намертво виснет при инициализации кекста AppleNForceATA.

Заметка #6 @adil2003 2008-09-22

У меня всё работает прекрасно, и 64-битный режим успешно загружается!
Правда, при попытке открыть «Сведения о системе» (System Profiler) программа аварийно закрывается!
----------------------------------------------

ОС: Leo4all v.5 Server
Материнская плата: ASRock 4CoreDual-SATA2 R2
BIOS: v.1.7 (старая версия)
Чипсет: VIA® PT880 Pro / PT880 Ultra
Звук: кодек ALC662 => Azalia
Процессор: Intel Pentium D 920 2,8 ГГц
Память: 2 ГБ DDR2 667 МГц (двухканальный режим)
Видеокарта: ATI X800 XT AGP (не меняется разрешение экрана!)
Жесткий диск: IDE 160 ГБ

Заметка #7 @Voyn1x 2008-09-23 ↳ Re: @eMatoS
@eMatoSВсё работает отлично, но загрузиться в 64-битном режиме не удается — система намертво виснет при инициализации кекста AppleNForceATA.

Судя по тому, что я читал на форуме InsanelyMac, причина в том, что драйвер AppleNForceATA основан на коде AppleVIAATA, который является чисто 32-битным кекстом. Именно по этой же причине материнские платы на чипсетах nForce испытывают проблемы при работе с 4 ГБ оперативной памяти и более.

Заметка #8 @eMatoS 2008-09-23

Черт возьми! Значит, в 64-битном режиме он так и не заработает, пока кто-нибудь не перепишет этот кекст заново.

Заметка #9 @Voyn1x 2008-09-23

Насколько я понимаю, именно так дела и обстоят.

И если это кажется вам проблемой, то подождите выхода Snow Leopard: :

В большинстве случаев Leopard может использовать те же драйверы, что и Tiger. Ограничения возникают лишь при взаимодействии с другими обновленными кекстами и связками. Однако с переходом на Snow Leopard этой обратной совместимости больше не будет: 32-битные драйверы НЕ РАБОТАЮТ в Snow Leopard. Да-да, всё придется начинать с чистого листа.

http://forum.insanelymac.com/index.php?automodule=blog&… ↗

Заметка #10 @bhast2 2008-09-23 ↳ Re: @Voyn1x
@Voyn1xСудя по тому, что я читал на форуме InsanelyMac, причина в том, что драйвер AppleNForceATA основан на коде AppleVIAATA, который является чисто 32-битным кекстом. Именно по этой же причине материнские платы на чипсетах nForce испытывают проблемы при работе с 4 ГБ оперативной памяти и более.

В Leopard 64-битный режим реализован на уровне пользовательских приложений, поэтому разрядность кекстов не влияет на процесс загрузки ядра.

64-битный режим задействуется только тогда, когда его запрашивает конкретное приложение.

Заметка #11 @pαuℓzurrr. 2008-09-23

Ребята, пожалуйста, загляните сюда:

http://forum.insanelymac.com/index.php?s=&showtopic… ↗

И опубликуйте значения регистров MSR ваших процессоров! Это очень поможет разработчикам сделать ядро для систем AMD еще лучше и стабильнее.

Заметка #12 @eMatoS 2008-09-24

Полностью поддерживаю, p-J: разработчикам сейчас очень нужны дампы с систем AMD, так что давайте подсобим, ребята!

Заметка #13 @Voyn1x 2008-09-24 ↳ Re: @bhast2
@bhast2В Leopard 64-битный режим реализован на уровне пользовательских приложений, поэтому разрядность кекстов не влияет на процесс загрузки ядра. 64-битный режим задействуется только тогда, когда его запрашивает конкретное приложение.

Хм, изучил вопрос глубже — ты действительно прав (по крайней мере, применительно к Leopard, см. мою цитату выше). Однако, как писал Mysticus C на InsanelyMac, проблема с 4 ГБ ОЗУ на платах nForce вызвана именно конфликтом 32-битной адресации драйвера nForce с 64-битным пространством памяти. Могу только предполагать, но, вероятно, принудительное включение 64-битного режима при загрузке упирается в ту же самую проблему.

Заметка #14 @gipo 2008-09-24 ↳ Re: @bhast2
@bhast2Ты забыл указать при загрузке параметр busratio. Чтобы избавиться от хрипов звука, нужно обязательно передавать ядру правильный множитель busratio. Например, у меня частота шины FSB равна 200 МГц, а тактовая частота процессора — 2,6 ГГц. Делим 2600 на 200 и получаем множитель 13. Поэтому я загружаюсь с флагом busratio=13. Подтверждаю, что с этим параметром звук работает идеально. В будущих сборках автоопределение поправят, ведь сейчас это только альфа-версия.

На сборке alpha11 всё работает безупречно даже без указания флага busratio — звук сразу чистый!
Также установил свежие системные кексты от обновления 10.5.5.

Проверили и дополнили материал: @elicip
Источники и реестр соавторов (указано участников: 8 · Тема #1361)
УчастникРоль в досьеСообщенийПериод активности
@gipoКлючевой участник32008-09-22 → 2008-09-24
@eMatoSКлючевой участник32008-09-22 → 2008-09-24
@Voyn1xКлючевой участник32008-09-23 → 2008-09-24
@R0GUEОсновной автор22008-09-22
@bhast2Участник22008-09-22 → 2008-09-23
@pαuℓzurrr.Участник22008-09-22 → 2008-09-23
@elicipУчастник12008-09-22
@adil2003Участник12008-09-22

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