x86 硬件上的 Mac OS X 2008–2024 技术文献库
InfiniteMac OSx86 › 内核发布、社区动态与科技公告 › Voodoo XNU 9.5.0 内核(Mac OS X 10.5.5 跨平台 Intel / …
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 修正与前端总线倍频参数。

主笔作者
@R0GUE 发表于 2008-09-22
所属专区
内核发布、社区动态与科技公告
典藏规模与记录
493,765 次历史阅读 · 15 则精选技术笔记(萃取自 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 ↗
简体中文精译技术专卷 · 完整保留原始命令、Kext 名称、ACPI 节点与引导参数查看英文原版 (Original English) →

XNU-Dev 开发团队在 Apple 放出 Mac OS X 10.5.5 内核源代码后,第一时间完成了 Darwin 9.5.0 内核的跨平台移植工作,让非原生(Non-Vanilla)Intel 与 AMD 用户能无缝升级至 10.5.5!

目前 Voodoo 下一代 Beta 版本已全面改以 9.5.0 内核为基础(Beta 1 基于 9.4),并正式展开公开 Alpha 测试。

下载与测试信息:
有兴趣参与测试的成员请先参阅 XNU-Dev 硬件支持清单 ↗,并前往 Google Code 项目页面 ↗ 下载 9.5 内核的 Alpha 9 测试版。所有问题反馈请提交至 Issues 追踪页 ↗ 并附上 CPUID 日志。

常用启动排查参数(Boot Flags):
若无法顺利开机、系统时钟流速异常或进入 GUI 桌面耗时过长,请尝试以下启动参数:

  • AMD 处理器专用: -amd -emulateintel(Alpha 8 起已可自动检测);若想测试 AMD 早期 64 位支持可尝试 -force64。
  • 所有平台通用(修正倍频): busratio=xx(其中 xx 为处理器倍频,即 CPU 主频除以 FSB 前端总线频率;常见 FSB 为 100、133、166、200、333 或 400 MHz)。

引导程序要求:
必须配合支持 EFI 的引导程序(强烈建议使用最新 Chameleon;Pentium 4 等旧架构处理器需配合支持新版内核的 Chameleon 引导文件)。

社区实测与技术补充笔记

自 17 则原始讨论回帖中萃取 15 则高价值技术回应

技术笔记 #1 @gipo 2008-09-22

我实测了最新的 9.5.0 XNU 内核……
整体运行大致正常,唯独声卡在刚开始播放的前 3 秒会出现爆音与杂音,之后才恢复正常。
无论播放哪种声音都会遇到这个现象,就连清空废纸篓这类系统音效也不例外,总要延迟几秒钟后音质才会恢复正常……
总之我目前已先还原回对我来说完美工作的 9.4.0 XNU 内核。

技术笔记 #2 @bhast2 2008-09-22

那是因为你开机时没有加上自己的 busratio 倍频参数。

要修正爆音问题,启动时必须指定 busratio:
比如我的前端总线(FSB)是 200,
而我的 CPU 主频是 2.6GHz,
计算方式就是 2600 除以 200,
得出倍频(busratio)为 13,
因此我在启动引导时输入 busratio=13。

我可以确认只要这样做,声音就能完全恢复正常。
毕竟目前还只是 Alpha 测试阶段,相信未来正式版会修复这个问题。

作者修订 #1 @R0GUE 2008-09-22 ↳ Re: @elicip
@elicip请问有配套的 9.5.0 System.kext 吗?

这是 9.5.0 的 System.kext(rogue.infinite mac.com/files/950_System_kext.zip)。祝测试愉快!

技术笔记 #3 @pαuℓzurrr. 2008-09-22 ↳ Re: @bhast2
@bhast2那是因为你开机时没有加上自己的 busratio 倍频参数。要修正爆音问题,启动时必须指定 busratio:比如我的前端总线(FSB)是 200,而我的 CPU 主频是 2.6GHz,计算方式就是 2600 除以 200,得出倍频(busratio)为 13,因此我在启动引导时输入 busratio=13。我可以确认只要这样做,声音就能完全恢复正常。毕竟目前还只是 Alpha 测试阶段,相信未来正式版会修复这个问题。

请问我要怎样查看自己的 FSB?我的 CPU 一样是 2.6 GHz……

更新 1:没事了,我查到自己的 FSB 也是 200,所以倍频跟你一样……
更新 2:我也可以确认加上去之后,声音现在完全正常了……

另外我也顺便测试了 64 位模式,但系统在加载 AppleNForceATA 后就卡死了。本来也没指望第一次就能成功,但总算是个好的开始。

技术笔记 #4 @gipo 2008-09-22 ↳ Re: @bhast2
@bhast2那是因为你开机时没有加上自己的 busratio 倍频参数。要修正爆音问题,启动时必须指定 busratio:比如我的前端总线(FSB)是 200,而我的 CPU 主频是 2.6GHz,计算方式就是 2600 除以 200,得出倍频(busratio)为 13,因此我在启动引导时输入 busratio=13。我可以确认只要这样做,声音就能完全恢复正常。毕竟目前还只是 Alpha 测试阶段,相信未来正式版会修复这个问题。

我会尽快试试 busratio 参数……再上来反馈结果。
请问可以用 CPU-Z 查出 FSB 跟 CPU 频率吗?因为我有稍微超频过系统,所以目前的数值并非默认标准值……
先谢过 bhast 了……

技术笔记 #5 @eMatoS 2008-09-22

目前一切运行良好,但无法以 64 位模式开机,会在加载 AppleNForceATA kext 时卡死。

技术笔记 #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 Audio Codec => Azalia
CPU:Intel Pentium D 920 2.8 GHz
内存:2GB 667MHz(双通道)
显卡:ATI X800 XT AGP(无法调整分辨率!)
硬盘:IDE 160GB

技术笔记 #7 @Voyn1x 2008-09-23 ↳ Re: @eMatoS
@eMatoS目前一切运行良好,但无法以 64 位模式开机,会在加载 AppleNForceATA kext 时卡死。

根据我稍早在 InsanelyMac 读到的一篇帖子,这是因为 AppleNForceATA 是基于纯 32 位的 AppleVIAATA 改写而成的 Kext。这也是为什么采用 nForce 芯片组主板的系统在插满 4GB 内存时常会遇到兼容性问题。

技术笔记 #8 @eMatoS 2008-09-23

可恶!看来在有人重新改写这个 Kext 之前,都别想在 64 位模式下工作了。

技术笔记 #9 @Voyn1x 2008-09-23

就我所知确实是这样。

如果你觉得这已经够糟了,那等 Snow Leopard 出来时才叫真正的考验呢:

在大多数情况下,Leopard 还能沿用 Tiger 时代的驱动程序;就算受限,通常也只是因为与其他更新版 Kext 或 Bundle 发生联动冲突。然而到了 Snow Leopard,这条路将彻底行不通——32 位驱动程序在 Snow Leopard 下完全无法工作。没错,一切都得推倒重来。

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

技术笔记 #10 @bhast2 2008-09-23 ↳ Re: @Voyn1x
@Voyn1x根据我稍早在 InsanelyMac 读到的一篇帖子,这是因为 AppleNForceATA 是基于纯 32 位的 AppleVIAATA 改写而成的 Kext。这也是为什么采用 nForce 芯片组主板的系统在插满 4GB 内存时常会遇到兼容性问题。

在 Leopard 下 64 位是针对上层应用程序(Application-based)运行的,所以 32 位 Kext 照理说不会影响开机引导,

只有当应用程序本身需要 64 位环境时才会启用。

技术笔记 #12 @eMatoS 2008-09-24

p-J 说得没错,开发团队急需收集各款 AMD 系统的底层数据,大家快去帮忙提交吧!

技术笔记 #13 @Voyn1x 2008-09-24 ↳ Re: @bhast2
@bhast2在 Leopard 下 64 位是针对上层应用程序(Application-based)运行的,所以 32 位 Kext 照理说不会影响开机引导,只有当应用程序本身需要 64 位环境时才会启用。

嗯,我进一步查证后发现你说得对(至少在 Leopard 架构下确实如此,见我上一条回帖),不过根据 InsanelyMac 上的 Mysticus C 指出,nForce 平台的 4GB 内存寻址问题确实源于 nForce 驱动与 64 位寻址的不兼容。我只是推测,当强制开启 64 位参数时,这项冲突很可能也会连带影响开机过程。

技术笔记 #14 @gipo 2008-09-24 ↳ Re: @bhast2
@bhast2那是因为你开机时没有加上自己的 busratio 倍频参数。要修正爆音问题,启动时必须指定 busratio:比如我的前端总线(FSB)是 200,而我的 CPU 主频是 2.6GHz,计算方式就是 2600 除以 200,得出倍频(busratio)为 13,因此我在启动引导时输入 busratio=13。我可以确认只要这样做,声音就能完全恢复正常。毕竟目前还只是 Alpha 测试阶段,相信未来正式版会修复这个问题。

换上 Alpha 11 后一切完美!现在开机完全不需要手动输入 busratio 参数,声音也已经彻底正常了。
同时我也一并装上了 10.5.5 原生的 System.kext。

参与实测与协作验证成员: @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