2013年4月6日星期六

Hackintosh, Again

安装

  • CPU:I5-3470
  • 主板:ASRock H77 Pro4/MVP
  • 集显:HD2500
  • 独显:MSI 650ti Hawk
  • 网卡:Realtek RTL8111E
  • 声卡:Realtek ALC892

安装源用的是10.8.3懒人版迅雷快传)。自己改太麻烦,作者说只是改了OSInstall(破解系统,使其可以装入MBR分区的磁盘上),那就将就吧。

目标磁盘是一块空白2T的希捷,打算装上OSX和Linux,剩下的空间作资料盘用。在MBR中写入Grub4Dos。第一个分区60G,格为NTFS,放入grldr、menu.lst和Chameleon ISO。编辑menu.lst,添加启动条目,用Grub4Dos引导Chamelon。第二个分区60G,留给OSX。然后再分出一个8G的分区,在Windows中用硬盘安装助手写入安装盘镜像。

如果在其后的过程中遇到安装程序报错,无法读取安装盘的情况,换一块磁盘区域重新分区并写入镜像试试。硬盘安装助手这个程序有点年头了,一直没更新过,有点不大靠谱。

重启,用Grub4Dos引导Chamelon ISO,载入安装镜像安装OSX。格式化OSX分区时,记得选不区分大小写的HFS,不然某些程序会有兼容性问题(如搜狗拼音)。安装完成重启之前,用控制台将安装盘的/Extra复制到目标分区中,并将目标分区System/Library/Extensions/AppleIntelHD4000Graphics.kext移动到自建的备份文件夹中。

重启,加上-v和-f参数引导目标分区即可成功进入桌面。

硬件驱动

网卡驱动我用了Lnx2Mac's Realtek RTL81xx v0.0.90(拷入AppleRTL8169Ethernet)。Realtek官方驱动也能用,但启动关机似乎会稍微慢一点。

声卡驱动图省事用了VoodooHDA v2.8.2。修改DSDT和AppleHDA也不是不可以,但爆音控制方面,VoodooHDA似乎还好些。如果要用AppleHDA,记得只能放/S/L/E,放/E/E不会生效的。

系统报告里有两个未知SATA控制器,那是板载的ASM1061。如果没接东西,肯定是没所谓的,但要是觉得看着不舒服,可以用(MultiBeast - Mountain Lion 5.2.1)里的3rd Party SATA。

华擎的这块板子锁住了MSR,需要为AppleIntelCPUPowerManagement打补丁。打完补丁,/E/E下的NullCPUPowerManagement就可以拿掉了。下载AICPMPatch,备份之后:sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement --patch

(该问题还可以通过刷写修改过的BIOS来解决。只是刷BIOS毕竟不安全,我觉得还是打补丁的好。)

如果有SSD,可以参考这篇打上TRIM补丁。我的SSD分区是NTFS,也不打算在OSX里写,所以就没测试。

10.8.3的HD4000驱动可用于HD2500(包括QE/CI),至少有人成功过。方法是在UEFI中将显存设置为32MB、64MB或96MB,并在新版变色龙(r2187或以上)中设置GraphicsEnabler=Yes。而我这里无论怎么设置都不能进系统,所以只好拿掉AppleIntelHD4000Graphics。

650ti驱动很容易,只需要将变色龙的GraphicsEnabler设置为No,即插即用。另外还有官方驱动CUDA驱动。据说对性能有帮助,不过暂时没有用OSX打游戏或Adobe的想法,于是没去折腾。

Chameleon配置

Chameleon Wizard很好用,安装、更新、配置都可以搞定。

modules我用了三个。FileNVRAM可解决iMessage不能用的问题。Resolution可以让变色龙也用上高分辨率。Sata可以拿掉内置硬盘的热拔插功能,避免桌面上出现一堆图标。

如果使用了区分大小写的HFS,smbios.plist请用全小写。机型看着办吧,我用了MacBookPro9,1。

FakeSMC有两个活跃fork,Kozle的HWMonitor比较漂亮些,但当前版本在我这里读不出GPU频率,所以用了Slice的版本。Contents/PlugIns放什么可以看着办,只是我这里用r645的NVClockX会kernel panic,所以就拿掉了。

如果遇到USB3端口只能用鼠标键盘,不能用USB2的u盘的问题,可以试试GenericUSBXHCI

如果需要用PS2接口的设备或是在本子上安装,则可能还会需要AppleACPIPS2Nub和ApplePS2Controller。

DSDT

这里有一个H77 Pro4/MVP的DSDT,不过是针对修改过的UEFI,只可看看作为参考,不能直接就拿来用。

首先下载MaciASL,这是一个OSX下的ASL编辑、打补丁和编译工具。

打开MaciASL,File、New from ACPI、DSDT。先打补丁amicleancompile.txt,修正编译时会出现的警告和错误。打完补丁可能还会有几个编译错误,看着改吧,很容易。

如果想要用AppleHDA,可以参考hdefaudioid_1.txt这篇文章。请注意该补丁中的layout-id,该id必须要和AppleHDA中的id保持一致。

dmesg显示“WARNING: IOPlatformPluginUtil : getCPUIDInfo: this is an unknown CPU model 0x3a”,这说明系统不认识你的CPU。具体到我的I5-3470,除了无法睿频,调频只有1.6G和3.2G两档之外,没发现其他的缺点。

要修复这个问题,稍微有些折腾。Ivy Bridge之前的CPU,电源管理用的都是ACPISMCPlatformPlugin,Ivy Bridge则用的是X86PlatformPlugin。用ssdtPRGen.sh生成SSDT,再根据这张帖子进行修改。

变色龙中设置DropSSDT=Yes,改完了重启发现报错“X86PlatformPlugin::configResourceHandler - Failed to set ring table!”。这个问题是什么导致的暂时不清楚,也不影响使用就是。

系统设置

生成合法的smbios.plist,在org.chameleon.Boot.plist中加入EthernetBuiltIn=Yes后,iCloud、App Store和iTnues均可正常登录。

iMessage不能登录的问题,装Chameleon v2.2 trunk或Chimera v2.0,在modules中放入FileNVRAM后即可。

系统默认的休眠方式是Ram+Disk,桌面机可以改成纯Ram:

sudo pmset -a hibernatemode 0
# Ram+Disk是3,纯Disk是5

sudo nvram “use-nvramrc?”=false

sudo rm /private/var/vm/sleepimage

1 条评论 :

Lin Jen-Shin (godfat) 说...

好費工夫... 佩服佩服 XD