这里我以常见的显卡为例,来说明如何安装驱动。
首先你要检查你的显卡的核心(或其它硬件,下同,不再赘述)是否能够被OSX86所支持,只要核心被支持,那么一般来说相同核心不同品牌的产品都可以获得不同程度的支持;如果不确认是否支持,可以试试看,但如果明确不支持,自己有没有开发的能力,那你就只能祈祷有高手愿意开发驱动了。
确认得到支持后,我们就要寻找相关的驱动。在OSX里面,“包(package)”是一个无处不在的概念,无论是软件、文档还是硬件驱动都是以包的形式存在的。对于驱动,包的形式就是
CODE:
*.kext
,实际上它的官方名是“内核扩展(kernel extension)”,这也就是为什么这个包的扩展名是kext了。简而言之,我们所要的驱动,就是个扩展名为kext的文件(虽然实际上是个文件夹,但在osx看来这是个文件包)。
那么从哪里获得这个文件呢?途径有以下几条:
1、如果真正的Mac上曾经使用过你的这款硬件,那么恭喜你,基本上你的硬件不会遇到太大的问题,或者干脆不会遇到问题。在一些情况下,甚至你无需作任何的修改和设置,硬件就是正常工作的(比如GMA900/950显示芯片)。
无论怎样,Mac上自带的驱动都在
你的Tiger安装盘/System/Library/Extensions/
里面,你可以去看看。
当然也有特殊情况,比如Nvidia显卡,虽然Mac上也有使用,但在OSX86里面Nvidia显卡是没有官方的硬件驱动的;
2、如果真正的Mac上没有你现在用的这款硬件,刚才说的文件夹中也找不到相应的驱动,你可以到本站论坛的“各类安装光盘镜像、驱动和补丁索取/分享”去找找看,有一些第三方开发的驱动;
3、如果不符合上述情况,那么你就要去硬件芯片厂商的网站上去看看有没有硬件驱动的源代码下载,然后自己编译了,目前大家用的一些驱动就是通过这种方法得来的,比如8738声卡驱动,当然在你做这个工作之前,还是建议去本站论坛的“各类安装光盘镜像、驱动和补丁索取/分享”去找找看,或许早有人编译好了放出来也说不定。
更糟的情况是,厂商根本没有提供面向osx的驱动,那就要费些周折了。如果它至少提供了驱动源代码,你还有戏,你所要做的就是移植(porting)了, windows的移植难度我就不说了,linux会好很多,最理想的当然是面向bsd的驱动了。不过无论怎样,这个移植工作都不轻松。我的建议是,你不妨在论坛上发起一个项目,然后大家一起来解决。
最难受的情况莫过于,找不到任何源代码。那么唯一的路就是:把已有的驱动拿来逆向工程,macvidia(一个为osx86开发nvidia显卡驱动的项目)上的强人就是这么做的,当然,我知道这很难……
现在我假设你已经拿到了这个.kext文件包。接下来你要做的就是,在Finder中,或者在终端中把这个文件包放到
你的Tiger安装盘/System/Library/Extensions/
里面。然后打开磁盘工具修理磁盘权限,当然你也可以在终端中通过命令来进行(这里假设文件包的名字是driver.kext):
CODE:
sudo chown -R root:wheel /System/Library/Extensions/driver.kext
sudo chmod -R 755 /System/Library/Extensions/driver.kext
操作的时候可能会要你输入密码,输入你的osx登录密码就行了。然后重新启动,一般来说你的硬件已经可以正常工作了,那么你就没有往下看的必要了,呵呵。
如果无法正常工作,比如安装了显卡驱动后,启动时连图形界面都看不到就停住了,也不要着急,首先使用下面2个办法中的一个登录到osx中去:
1、在计算机POST完、启动OSX时按F8,然后输入
CODE:
-x
,此时OSX会以安全模式启动,图形界面
2、在计算机POST完、启动OSX时按F8,然后输入
CODE:
-s
此时OSX会以单用户模式启动,字符界面,如果你有unix/linux命令行知识的话可能更方便些,毕竟osx启动还是挺慢的。
不管你用那种方法,反正我假设你已经启动了osx并登录进去了,这是进行接下来操作的前提。
那么现在该做些什么呢?你要尝试修改驱动的“属性列表(property list)”文件,它的扩展名是
CODE:
.plist
它在哪里呢?实际上几乎每个包都有自己的plist文件……这里面我们专门说驱动的,它的名字是
CODE:
Info.plist
会在驱动文件包(和上面一样,假设这个包叫做driver.kext)的
CODE:
/Contents/
里面。这是一个xml文件,或者说纯文本文件,因此你可以很方便的修改它,比如用vi,或者任何你喜欢的图形化的文本编辑工具。
但是你可能遇到个问题,就是修改完了发现不能保存,这是因为没有相应的权限。对于高手来说相信这不是什么问题,但一般人如果不会处理的话,建议作如下操作:
1、在Finder里找到这个driver.kext,鼠标右键单击它,在菜单中选择“显示包内容”,进入Contents文件夹,找到Info.plist并把它拖到桌面上;
2、这时候你可以修改这个文件了,假设你已经修改完并保存了;
3、在Finder中把桌面的这个Info.plist拖到刚才的那个Contents里面,替换掉原来的;
4、修复权限,这个刚才讲过了。
现在我们来看如何修改其内容。
首先你需要知道你这个硬件的厂商ID和设备ID,方法有二:
1、在XP下查看,方法见Stiffy的帖子:
http://www.osx86china.com/bbs/viewtopic.php?t=9010
;
2、在OSX下点左上的Apple标志-〉关于本机-〉更多信息(系统概述),然后找到“显卡/显示器”,进去看……
这里假设你获得的厂商ID是3582,设备ID是8086,记下来一会儿用。
然后在Info.plist文件中找到“IOPCIMatch”,将其值改为
CODE:
厂商ID设备ID
即
CODE:
35828086
接着保存,修复权限,
详细图文版安装方法见如下:
http://www.opcos.com/Apple/MACjiaocheng/201005/G304382706.html
你要先下栽到相应的硬件 Mac驱动才能安装喔。