但是女友的iBook G4渐渐显得不够用,主要倒不是Mac OS的执行效率跟不上,而是在进行创业尝试的她对Windows平台有了新的兼容要求。
而如果重新启用她的迅驰NoteBook,又不想放弃在Mac
OS中如iLife和iWork等便利而强大的软件资源,经过一番思量,我决定重新尝试安装破解版本的Mac
OS。为什么说是"重新尝试"呢?因为早在几年前我还没有开始用Mac的时候,我就尝试过无数的办法体验Mac OS,只是那时候由于Hack
Mac的技术尚未成熟,软硬件的兼容性都比较差,黑苹果作为主要系统来使用实为勉强。斗转星移,今非昔比,我们决定开始一次全新的探索。整个安装过程耗时大概有一个星期,主要是白天要上班,要晚上才有时间奋战。
我选择的是iDenenb 10.5.5的版本,本来想尝试原盘安装,但是由于不是Core 2 Duo处理器,用虚拟EFI可能有兼容问题,因此选择打过补丁的版本。
iDenenb的安装比较顺利,和在原版Mac硬件上安装的过程相差无几,就是分区的时候如果想保留原来的Windows系统能启动,那么最好保留MBR的结构,割一个分区格式化成Mac磁盘格式就可以了。我安装iDenenb后,双系统引导已经自动配置好了。比较头疼的是安装时候选择驱动的步骤,有一点小经验要分享就是,尽量不选不必要的选项,先把Mac启动好,不要忙着启动什么"声、网、显"等,让系统先引导进入桌面,其他什么都好办。
Mac的安装比较简单,光盘启动一次后你就可以从硬盘引导了。这里你可能会遇到一些奇怪的问题,例如"自动重启"、"灰色屏幕"、"蓝色屏幕"或者出现"苹果加禁止符号"等情况。我在这一步也卡住了很久很久,百思不得其解,BBS上也是众说纷纭,令人一头雾水。我在这里说说我的经验,希望对大家有一定帮助。如果你不幸遇到"自动重启"、"灰色屏幕"、"苹果加禁止符号"等,你可能在驱动选择的时候有错选,或者多选,要特别注意一下芯片组和CPU的选项。如果你遇到蓝屏,那么你是幸运的,因为遇到蓝屏意味着Mac
OS的基本系统已经引导完成了,是加载和配置显卡驱动的时候了,双手合十,感谢主吧。
怎么解决"蓝屏"这个问题呢,先不要插入光盘忙着重装系统。你先重启,进入Unix命令行模式(单用户模式),删除不兼容的显卡驱动和相关的系统扩展模块,你的系统基本上就能引导进桌面了。
下面我说说在我的迅驰2平台915GM的例子(显卡是GMA900)。开机用"-s"参数启动进入Unix单用户模式。输入"mount -uw
/"命令去掉整个磁盘的"只读"限值。然后使用"cd"命令切换到"/System/Library/Extensions/"目录。输入"rm
-rf [文件名]"指令删除以下5个文件:"AppleIntelGMA950.kext、AppleIntelGMA950GA.plugin、AppleIntelGMA950GLDriver.bundle、AppleIntelGMA950VADriver.bundle、AppleIntelIntegratedFramebuffer.kext"然后删除"/System/Library/Extensions.*"以清除驱动缓存(注意不要忘记加后面的".*"符号,要不然命令会递归删除你的所有驱动,而且没有任何提示)。重启机器后你应该已经能够进入注册页面了,填上一些必要的资料,按照向导创建登陆帐号,就成功进入激动人心的Mac桌面了。
先不要急着高兴,你还会遇到几个驱动问题,比较常见的障碍是显卡、声卡和无线网卡。根据经验,有线网卡一般都已经自动适配好了。显卡在10.5.x中是很好办的,第三方修改驱动已经很成熟了,不像10.4.x时代,比较多鼠标残影(俗称鼠标拉屎,比较不雅),显卡特效无法打开的情况。我手上的GMA900下载并安装"Gma900_1055.pkg"驱动后顺利适配,QE、CI也全面支持,美中不足的是偶尔存在很轻微很轻微的鼠标残影,但是一般情况下不显现,可以忽略。这个文件我已经上传到我的Skydriver网盘中:http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/Gma900%7C_1055.zip
无线网卡其实也好办,你可以选择下载相似的驱动(指的是芯片型号相似),自己添加硬件ID就OK,如果你是用的是Atheros的无线网卡,那就比较幸运,因为Apple
AirPort中的很多CHIP也是基于Atheros的技术的。如果你的网卡为"Atheros Communications Inc
AR5212 802/11a/b/g Wireless
Adapter",那么你可以下载我修改的一个驱动碰碰运气,地址为:http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/K40%e9%a9%b1%e5%8a%a8%e5%bc%80%e5%8f%91.dmg解开后找到这个文件"IO80211Family.kext"。
比较难办的其实是声卡,古怪的问题比较多。目前国外的研究大多集中在是用Linux Live
CD启动,Dump出声卡的硬件信息,然后自己编译驱动。这个办法的原则是只要你的声卡能够被Linux支持,那么它在Unix中基本没有什么大问题。
我用的是Ubuntu的Live
CD(http://www.ubuntu.com/getubuntu/download),引导成功后,打开终端,输入以下命令"cat
/proc/asound/card0/codec#0 >
codec.txt",意思是保存"codec#0"的设备的硬件信息到"codex.txt"中。注意两点:第一,实际使用的时候你可能需要把"#0"换成"#1"或者"#2"以此类推(因为你的硬件地址可能有别,TCL
K40中就需要换成"#1");第二,你需要把文件写入到你有"写能力"和"写权限"的分区当中,写能力的意思是:Linux原生支持读取FAT(包括FAT12、FAT16和FAT32,不包括FAT64/ExFAT)、NTFS和Apple分区(HFS/HFS+)、当然还有Linux自己的文件系统,但是并不支持写入NTFS和HFS/HFS+,这也是很多不熟悉Linux的新手无法顺利Dump出硬件信息的原因,我直接挂载了一个Fat32的U盘,问题就迎刃而解,写权限这点相信大家都了解了,呵呵(Fat12-32分区都不存在这个问题)。
你得到的信息应该和以下内容类似:
Codec: Realtek ALC880
Address: 1
Vendor Id: 0x10ec0880
Subsystem Id: 0x8800000
Revision Id: 0x100800
Default PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
Node 0x02 [Audio Output] wcaps 0x411: Stereo
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: 0x0
Node 0x03 [Audio Output] wcaps 0x411: Stereo
PCM:
rates [0x560]: 44100 48000 96000 192000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: 0x0
Node 0x04 [Audio Output] wcaps 0x411: Stereo
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
formats [0x1]: PCM
Power: 0x0
Node 0x05 [Audio Output] wcaps 0x411: Stereo
PCM:
rates [0x160]: 44100 48000 96000
bits [0xe]: 16 20 24
f
ormats [0x1]: PCM
Power: 0x0
......
......
......
我的声卡的文件比较长,7,453 bytes,大约8 KB。这里就不全部贴出了,如果你是用Realtek
ALC880的声卡,并且声卡的"Vendor Id为: 0x10ec0880","Revision
Id"为"0x100800"的话,你可以去下载我的Dump
Text:http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/K40%20Sound%20Card%20Dump%20Codec.txt
然后,你需要用"AppleHDAPatcherv1.20.app.zip"来编译驱动,这个文件我也上传到以下地址:http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/K40%e9%a9%b1%e5%8a%a8%e5%bc%80%e5%8f%91.dmg
编译驱动后,你可以测试一下,声卡的发声状态。如果是台式机,可以尝试一下声卡的每个接口,因为编译的驱动中并不一定严格按照你声卡的输出路径,你的声音可能需要从Mic、Line
in接口输出来。如果能发出声音,那么你离成功已经很近了,如果无法发声,也不要焦急,很可能是由于驱动的声音输出通道没有映射好,你只需要编写正确的通道映射文件就可以。声音输出通道是什么呢?其实就是声卡芯片在设计的时候设置的一种很抽象的逻辑通道,例如声音需要从"发声源[Audio
Output]"到达"分离器"、"声道选择器[Audio
Selector]"、"声效混合器"、还有若干的逻辑"节点[Node]"才能到达"输出端口[Pin
Complex]",声音输入的原理也类似。你需要修改"AppleHDA.kext/Contents/Info.plist"文件中的XML代码,映射出正确的声音输出通道。
问题是如何得到声音的输出通道呢?这里有两条路可走:
A,你可以到声卡厂商的网站下载声卡DataSheet,一般情况下都能在官网找到的,例如ALC880的DataSheet文件为"ALC880_DataSheet_1.4.pdf",大家可以在我的Skydriver找到:http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/ALC880%7C_DataSheet%7C_1.4.pdf
B,你也能在以上在Linux系统Dump出来的驱动信息中找到,经过分析是可以找到输出路径的。我也是通过此方法成功让我的TCL
K40正确发声,我找到的几条通道能让耳机、内置扬声器、光纤、内置Mic、音频输入等端口正确工作,例如内置扬声器的通道用以下的XML描述:
通道为3 > 13 > 21;
又如耳机接口通过以下XML描述:
nd
通道为2 > 12 > 20;
至于如何了解你的声卡,找到逻辑通道,你可以阅读一个老外的一篇很有参考价值的资料:AppleHDA_Guide.pdf,我也上传了:http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/AppleHDA%7C_Guide.pdf
研究DataSheet或者Linux Dump Text都可以,两条路都通往有声的Mac
World。只是需要你的耐心和细心,真的,我成功编译驱动就用了三个通宵,这是我安装Hack
Mac最痛苦的一段时光,不过我能告诉你,皇天不负有心人,你的付出是一定能收到回报的。
这里提醒一下,对于Unix命令行不熟悉的朋友,你可能遇到下载和修改驱动后,系统无法正确加载驱动的情况,表现为系统启动后弹出提示:"***.kext"无法加载等,那是因为Unix和类Unix系统的文件权限管理很严格,驱动的文件权限不正确,为了系统安全,Unix是不会加载该驱动程序的。你可以下载"Kext
Helper b7.app"来解决,这个小程序能很"傻瓜"地帮助你修正驱动程序的权限(http://cid-015bac1a170471db.skydrive.live.com/self.aspx/Applications%20for%20Mac/K40%e9%a9%b1%e5%8a%a8%e5%bc%80%e5%8f%91.dmg)并清空驱动缓存以启用新的驱动。
本文成文的此刻已经是成功安装Leopard
10.5.5后的第十几天了,那个时候10.5.6还没有推出,所以还没有研究如何升级。值得庆幸的是经过这段时间女友的试用,系统的性能表现还是比较理想,除了系统资源吃紧的情况下声卡出现爆音现象(这也是文中标题写上"近乎"的意义所在,希望曾遇到并解决此问题的前辈高人能赐教),其余表现都很不错,可以作为常规系统试用。
女友机器的硬件环境大致为:
架构:Centrino 2(Sonoma)平台;
主板:Intel 915GM芯片组;
CPU:Pentium M 1.7 GHZ;
内存:1GB of 512MB DDR2 533 x 2
硬盘:Seagate SATA 60GB
显卡:Intel GMA900
声卡:Realtek ALC880 in Intel(R) 82801FB/FBM
网卡:Realtek Semiconductor RT8139 (A/B/C/813x) Fast Ethernet Adapter
无线网卡:Atheros Communications Inc AR5212 802/11a/b/g Wireless Adapter
火线(IEEE1394):Texas Instruments OHCI Compliant IEEE 1394 Host Controller
其他如DVD刻录机、内置多合一读卡器、笔记本键盘、触摸板等等都正常工作,连笔记本键盘的音量和LCD亮度热键都正常工作,唯独"Fn"键在Leopard中没有完美识别,但功能正常,只是不能设置为Mac默认的无需按下"Fn"就能使用热键的方式,而是变成Windows下的"Fn"使用习惯。
软件的使用上,我安装上Adobe的PS、AI、FL和DW,Apple的iLife、iWork等均works well,其他如Tencent
QQ、Adium等常规应用更不在话下,但是遇到iCal打不开的情况(也请前辈赐教)。我用过Apple的Software
Update,除了升级AirPort补丁后无线网卡不可用(重装驱动即可复原),其余的均正常。至于原来的Windows系统均未受任何影响,继续为网银和支付宝保留着。
PS:我的经验就分享到这里,希望对大家有用,我提到的每个文件,在上文中都提供了驱动下载的地址,希望对广大愿意尝试新鲜事物的志同道合之友提供方便,旨在"众乐乐","抛砖引玉"。其实在广大的Mac
OS爱好者中,是无所谓菜鸟、高手之别,只是胆大心细,和一股执着之劲,最终让一部分人达到目的。所以本人文中也定存错漏缺失,欢迎广大Mac友来信共研(leaskh@gmail.com)。我的硬件比较齐全,手上有Hack
Mac,也有iBook和MacBook,希望能在必要时为大家提供帮助。
最后诚祝愿大家:如愿以偿。
黄 思夏
Leask Huang
Dec 28, 2008
