黑苹果历史详细介绍,黑苹果的详细使用方法

首页 > 生活 > 作者:YD1662024-06-01 20:07:48

当试图在非 Mac 平台上安装开发版的 Mac OS X Tiger 10.4.1 时会看到上图的提示信息:Darwin/x86 不支持你的硬件配置。

当时,将 Mac OS X Tiger 10.4.1 运行在普通的 PC 上有三大障碍:第一是指令集,DTK 内置的 Intel Pentium 4 660 CPU [2] 支持 SSE-3 指令集,但是 2004 年前后的 PC 常见的处理器都不包括该指令集;其次是芯片组,Mac OS X 开发版只支持 Intel 915G/ICH6 芯片组;最后,当时的苹果的 DTK 使用了 Infineon TPM 安全芯片。讽刺的是,最难克服的障碍其实不是硬件或安全芯片,而是指令集。

目前可考的第一台成功的黑苹果诞生于 2005 年 8 月 10 日,那一天 HardMac 网站收到匿名开发者发来的两段视频 [3] ,视频中展示了 Mac OS X 10.4.1 Tiger 运行在搭载 Pentium M 735 处理器的 Mitac 8050D 笔记本上。

值得一提的是,2006 年 1 月 10 日苹果发布 MacBook Pro,相比传统 x86 主板使用 BIOS 引导(Legacy),MacBook Pro 使用了 UEFI 引导方式。

2006 年 2 月 14 日,“The Guru”团队的成员 Maxxuss(crg92)发布了首个 Patch 补丁。通过该补丁修补 XNU 内核即可解除引导和安装限制、在任何内置 SSE-2 指令集的 Intel 处理器上运行 Mac OS X 10.4.4,今天 在 InsanelyMac 上仍然可以找到当时的帖子 [4] 。几小时之后苹果发布了 10.4.5 版本的 Mac OS X,又过了两周 crg92 就放出了新的针对 10.4.5 的补丁。

苹果随后的几个月内发布了 Mac OS X 10.4.6 和 10.4.7,OSx86 社区成员设法将这些系统中的新版本的内核替换为 10.4.4 和 10.4.5 的旧内核、实现将这些新版本的系统安装在 PC 上。但是从 10.4.8 开始,苹果开始更广泛地使用 SSE-3 指令集,意味仅仅通过修补 XNU 内核已经无法再兼容只支持 SSE-2 指令集的处理器(如早期的奔腾 4)。来自新西兰的 macOS、iOS 开发者与逆向工程师 Mfiki [5] (Vitaly Pronkin)于 2006 年 12 月 24 日放出了一个新的更精简的 Patch 以使 XNU 内核兼容 SSE2;而开发者 Semthex 则制作了一个通过 SSE-2 模拟 SSE-3 的指令集模拟器。

Mac OS X 10.5 Leopard 于 2007 年正式发布,随后 BrazilMac 发布了一个通用补丁。用户可以通过购买 Mac OS X 零售版的安装光盘、打上补丁即可让 XNU 内核运行在普通 Intel PC 上。之后,数个黑客和开发者(如 Lorem、SynthetiX、ToH、StageXNU 团队)都纷纷释出了内核补丁。同时,基于这些补丁制作的 Mac OS X“发行版”开始出现,如 iATKOS、 KALYWAY [6] 和 iPC [7] 。

之后随着 EFI 引导方法的流行,这些发行版都逐渐改为在系统中内置 Boot-132 或 Chameleon。

中场休息:对美国法院的一瞥

2008 年 4 月,一家名为 Psystar 的公司在美国佛罗里达州注册。这家公司计划公开销售 Intel PC,预装内置 BrazilMac 补丁的 Mac OS X 10.5 Leopard。这种 PC 一开始被称为“OpenMac”,很快又被更名为“Open Computers”。

黑苹果历史详细介绍,黑苹果的详细使用方法(5)

Pystar 的“OpenMac”

2008 年 7 月 3 日,苹果在加利福尼亚州地区法院起诉 Pystar 公司,声称 Pystar 公司侵犯了苹果的版权、违反了数字千年版权法案(DMCA),“避开、绕过、移除、解扰、解密、停用、破坏苹果保护机制”。

2008 年 8 月 28 日,Pystar 公司在佛罗里达州地区法院起诉苹果,声称苹果公司存在垄断和其它不正当竞争行为。2008 年 11 月 18 日,Pystar 公司的起诉被驳回。

2009 年 2 月 5 日, Pystar 公司赢得苹果第一轮的版权诉讼 [8] 。 这一判例意味着苹果的 EULA 中的“禁止在一台没有苹果 Logo 的电脑上运行苹果公司开发的操作系统”条款可能是没有法律效力的 。

2009 年 4 月,苹果的新闻发言人表示 Pystar 公司没有依法公开任何财务信息(利润、资产、负债)。Pystar 的 CEO 兼创始人对此拒绝置评,并仍然拒绝透露任何财务信息。

2009 年 5 月 26 日,Pystar 公司申请*保护,试图通过*保护法案拖延苹果的诉讼。在申请*期间,Pystar 公司仍然在销售预装 Mac OS X 的 PC,因此 2009 年 6 月法院解除了苹果的诉讼终止,使苹果可以继续起诉 Pystar 公司。2009 年 8 月 12 日,Pystar 公司的*保护申请被佛罗里达地区法院驳回。

2009 年 11 月 13 日,加利福尼亚州地方法院判定 Pystar 违反了 DMCA 和侵犯了苹果的版权,定于 12 月 14 日举行听证会。2009 年 12 月 15 日,加利福尼亚州法院发表永久性禁令,禁止 Pystar 制造、分发、协助任何人安装任何版本(包括未来版本)的 Mac OS X。2010 年 1 月 16 日,Pystar 公司提起上诉。2012 年 5 月 14 日,最高法院驳回了 Pystar 公司的上诉,苹果赢得了最终的诉讼。

向 Chameleon(变色龙)进发

回到 WWDC 2005 上发布的搭载 Intel DTK,内置了一个名为 Boot-132 的 UEFI Bootloader 用于加载 XNU 内核。。当时 Intel 的 UEFI 还是新鲜产物、几乎所有的 PC 都在使用 BIOS 引导(也就是现在被称为 Legacy BIOS 的引导方法)。Boot-132 后来随 Mac OS X 10.4.8 的 XNU 内核一起开源,所以在 2007 年,David Elliott 基于 Linux 的 GRUB Bootloader 和苹果 Boot-132 的源码开发了一个初级的 Bootloader,能够为使用 Legacy BIOS 引导的 PC 提供一个“模拟 UEFI”环境用于加载 XNU 内核。

除了 Boot-dfe,David Elliott 的作品还包括初版的 NullCPUPowerManagement [9] ,用于兼容苹果的电源管理 AppleIntelCPUPowerManagement。

2008 年,Voodoo 团队(原 StageXNU 团队,你应该记得在上个章节中看到过这个名字)将 David Elliott 开发的“模拟 UEFI”实现与苹果原始的 Boot-132 结合,制作了 Chameleon(变色龙)项目。随着 Chameleon 的不断迭代更新,许多功能如注入 Device Properties(设备属性)、加载 Kernel Extension(内核扩展,即 kext)、修补 ACPI、模拟 SMBIOS 机型、图形化界面的启动菜单都一一被支持。Voodoo 团队还开发了数个 kext 如 VoodooPower、VoodooSDHCI 以及在 Hackintosher 中耳熟能详的 VoodooHDA 和 VoodooPS2Controller。

黑苹果历史详细介绍,黑苹果的详细使用方法(6)

在 QEMU 虚拟机中通过 Chameleon 2.1.0 引导 PureDarwin,该版本的变色龙已经支持图形化引导界面。

由于变色龙的出现,越来越少的人选择反编译修改 XNU 内核、而是通过 Bootloader 替换 DSDT、注入设备属性和 kext。 考虑到数字千年版权法(DMCA)禁止修改并分发 macOS 中非开源部分的操作系统代码,使用 Bootloader 引导黑苹果无需直接修改操作系统或 XNU 内核本身、因而成功绕过了这一法律。

2009 年,Mac OS X 10.6 Snow Leopard 正式发布,这是第一个完全放弃 PowerPC 架构的 Mac OS X 版本。来自俄罗斯的 Netkas [10] 率先释出了一个修改版的变色龙 EFI 可以用于引导 Mac OS X 10.6。紧接着,Voodoo 团队也释出了兼容 10.6 的官方版本更新。

除了率先使变色龙兼容 Mac OS X 10.6,Netkas 还开发了 FakeSMC 和 HWSensor。现在 Netkas 致力于拓展 AMD 显卡的兼容性(如在 macOS 10.14 Mojave 为 Raedon RX560 启用 Metal 支持、避免 Raedon W5700 在 macOS 10.15.5 上引发 Kernel Panic 等)。

2011 年,Mac OS X 10.7 Lion 发布。这是苹果第一个不再提供安装光盘的 Mac OS X 版本,也是第一个支持 SSD TRIM 的 Mac OS X 版本。来自俄罗斯的 Michael Belyaev(usr-sse2)率先找到了安装方法,将修改版安装镜像写入到 USB 存储设备,并通过 XPC EFI Bootloader(一个基于 DUET 的模拟 EFI 引导器)启动 XNU 内核。

usr-sse2 现在是 acidanthera 团队的活跃成员,参与了 OpenCore 和 VirtualSMC 等的开发。截至本文写就,usr-sse2 正在研究苹果的 IO80211Family。

同年,来自 tonymacx86 的 MacMan 开发了 变色龙的一个分支 Chimera [11] 。tonymacx86 社区提供的工具 UniBeast(以及后来的 MultiBeast)内置了 Chimera、大大简化了黑苹果的安装。

来到 Clover(四叶草)的时代

不论是 David Elliott 的 Boot-dfe 还是变色龙,都是基于一个模拟的 EFI 环境。这意味着:

微软从 Windows 7 开始对 UEFI 引导提供初步支持、主流 PC 和笔记本厂商都逐渐用 EFI 代替 Legacy BIOS;同时随着大于 2TiB 的硬盘的出现,GPT 越来越流行,Hackintosher 对支持 GPT 的、真正的 UEFI Bootloader 的呼声越来越高。

Clover 的历史可以回溯到 2006 年出现的一个 FreeBSD 发行版 TrueOS。TrueOS 社区的 Christoph Pfisterer 开发了一个带有图形化界面的 UEFI Bootloader“rEFIt”。

黑苹果历史详细介绍,黑苹果的详细使用方法(7)

2011 年 Christoph Pfisterer 中止了 rEFIt 的开发。次年,开发者 Roderick W. Smith Fork 了 rEFIt、成立了 rEFInd 项目。同年,Slice 和 OSx86 社区讨论开发一个 UEFI Bootloader:除了支持和变色龙一样模拟 EFI 环境外、还需要兼容真正的 UEFI 环境;要能正确读取 HFS 分区;能够修补 ACPI、加载 kext、加载 SMBIOS、内置 Quirk 以在 PC 上启动 macOS。社区决定这个 Bootloader 应该基于 rEFInd 开发。2012 年,OS X 10.8 Mountain Lion 正式发布,同年 Clover 发布了第一个版本:

黑苹果历史详细介绍,黑苹果的详细使用方法(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.