麦创网

发表于 13/2/21 10:11:55 |显示全部楼层

http://peterforelli.blog.163.com/blog/static/124473889201023010256276/

刚刚安装完雪豹进入桌面,大部分的人都会发现此时的系统还只是个没有声音、不能调整分辨率、没有显示特效、甚至无法联网的“裸苹果”,再一重启,连BIOS也被重置了……相信很多人都会马上迫不及待地去kexts.com寻找驱动,不过别急,我们先从DSDT开始,一步一步地通过修改这个神奇的文件来逐渐完美我们的黑苹果。
Step 1. 提取DSDT
这里我们需要用到的软件是Everest,下载之后解压,直接运行Everest.exe打开软件。

根据图中指示的步骤,把DSDT的bin文件保存在桌面上。

这时,Everest用来提取DSDT的任务就完成了。


Step 2. 反编译出最初的DSL文件

从现在开始,我们就要用这个叫做DSDT Patcher的软件对DSDT进行修改和编译了。

由于软件没有提供bin -> dsl直接转换的功能,本人也并不敢确保bin和aml的内容完全一样,所以我们先把bin先转换成aml文件。

下面以我自己的DSDT为例:


按照图中的步骤选择源文件和输出目录,这是软件操作的基本步骤,以后的破解步骤就不再重复了。

把右面破解的选项全部取消掉(因为这个软件的功能很不完善,所以我们采用手动破解的方法),然后点击\"Patch AML\"。

  

糟了!编译失败!显示1 Errors, 1 Warnings.

我们把显示的信息复制出来看看:

dsdt.dsl   354:     Method (_WAK, 1, NotSerialized)
Warning  1080 -                 ^ Reserved method must return a value (_WAK)
dsdt.dsl  6247:                     Store (Local0, Local0)
Error    4050 -                                 ^ Method local variable is not initialized (Local0)
ASL Input:  dsdt.dsl - 7109 lines, 221419 bytes, 2621 keywords
Compilation complete. 1 Errors, 1 Warnings, 0 Remarks, 836 Optimizations

这里显示有两个问题:WAK和Local0。

那么接下来我们就把这两个问题修复。

点击右面的\"Fixes\"按钮

把对应的这两个补丁勾上,然后点\"OK\"。

接下来把桌面上刚才编译错误留下的临时文件都删除,再点击\"Patch AML\"。

成功了!0 Errors, 0 Warnings.

接下来我们要做的就是把无损的原始DSDT转换成DSL文件。  

选择D/C DSDT选项卡,选择刚才修补好的fixeddsdt.aml文件,在下面选择Decompile (to DSL)选好输出目录后,点击D/C……

这时我们得到的dcpdsdt.dsl就是我们要的原始DSDT信息了。


Step 3. 修复RTC设备,纠正BIOS重置的错误

用记事本打开我们得到的DSL文件,按Ctrl+F搜索Device (RTC)字样。


这样我们就找到了RTC的位置。

我们需要修改的有两个地方。先把IRQNoFlags行和下面的参数删掉,再把Length字段改为0x02(如果有多处一般只修改图中的一处即可)。

我们来对比一下原始代码和修复后代码:


原始代码↑




修复后代码↑
点击保存,这就是我们制作的可以修复BIOS重置的DSDT文件。
练习一下:用刚才讲过的D/C功能编译一个dsdt.aml文件扔到Boot Think或者变色龙里面试试看,重启后BIOS重置的问题解决了!这就是我们的初步成果。通过DSDT还可以加载显卡、声卡等信息,使Mac OS更好地识别你的PC配置,使系统更像一个真正的Mac!而这就是我们最终的目的。

打赏楼主

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

已有 1 人评分金钱 收起 理由
admin + 5 赞一个!

总评分: 金钱 + 5   查看全部评分

 

发表于 13/2/21 14:56:36 |显示全部楼层
很好的教程!!
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

麦创网 ( 苏ICP备13053101号-1 )

@麦创网 禁止任何未经允许的修改,传播或使用。

Powered by Discuz!

©2012 @ iMac.vip. 用户言论不代表本站立场。

返回顶部