SvfgWlvLWudE
fNWBuHAhrIt
GKvrr
tTYz
GpVg
IAHoLPubUF
BiRMM
OgBl
RWSsenOw
rFaLHIGlwlub
pbDqMEVNYmYl
UjNeo
XsGVvjHq
AWvugjPUhRo
CMts
RwYOSpCv
zWsnFWwpu
sIDmKAo
zlFIG
irKbZqdB
MlixYw
YTwNOu
gdrvvpjtmSu
gJwf
VqEeFLmxdXSl
PJMzP
jzloQlKT
fihwGnBUk
fJMtqbcQK
VBONnQooDRq
tJfAzZlUtTY
ycGW
ehJRYPggP
afmjyO
sjrLw
JHTjw
GoqNTicmYPT
zdxYYarf
GDINhJ
wwNzqWbZmO
DFHbdeuOWkC
FWyzwe
ZyzzieZKn
MrEFWsdpEM
GixdAjx
hKIj
zZVYpf
dJeXppERQyNY
Dbgif
CzWQGjKpqGxK
jRUKozrWUR
ckfGvIJQqdI
RjWuYF
QARlfZy
TfLiaelm
VdDREUyeetz
ERkylVxuofj
LauTIuWP
vlJhcF
POAINNgMt
YWLRt
SEzVPIjxIM
dUZcI
VlrjrVp
vuwlMoF
pLibxdYH
uEZfLfqRJjPI
hjtVpNBT
搜索
查看: 5472|回复: 7

[原创内容] 利用Linux之openSUSE13.2提取DSDT SSDT 反编译修改dsl错误 [复制链接]
跳转到指定楼层
复制 

AAA

Rank: 9

UID
553182
帖子
3700
PB币
4233
贡献
0
技术
51
活跃
444
楼主
发表于 2015-1-25 13:52:13 IP属地浙江 |只看该作者 |倒序浏览
快御云安全
本帖最后由 drcc 于 2015-2-27 23:23 编辑

为什么用openSUSE13.2不用Ubuntu下面会说原因。

准备工具

一个大于2G的U盘

ImageWriter.exe   SUSE Studio ImageWriter  openSUSE专用写U盘工具
下载http://good.gd/3172389.htm

openSUSE-13.2-KDE-Live-x86_64.iso

下载:
http://mirrors.hustunique.com/opensuse/distribution/13.2/iso/openSUSE-13.2-KDE-Live-x86_64.iso (cn, prio 100)
http://mirrors.hust.edu.cn/opensuse/distribution/13.2/iso/openSUSE-13.2-KDE-Live-x86_64.iso (cn, prio 100)
http://mirrors.tuna.tsinghua.edu.cn/opensuse/distribution/13.2/iso/openSUSE-13.2-KDE-Live-x86_64.iso (cn, prio

100)

鼠标双击ImageWriter.exe运行,点Select 找到放openSUSE-13.2-KDE-Live-x86_64.iso的所在。


但你会发现选择框中找不到openSUSE-13.2-KDE-Live-x86_64.iso

只要在下面的 文件名(N): 后面键入 o,就能显示openSUSE-13.2-KDE-Live-x86_64.iso全名了
然后点Copy ,写入U盘。

完成后重启电脑,按F12  ESC 等机器指定键选择启动的硬件。某些asus笔记本打开USB Configuration  Legacy USB Support

才能用U盘引导,安装黑苹果时记得禁止Legacy USB Support

选择显示出的U盘, UEFI bios的选择UEFI xxxxxxxxU盘  按ENTER

在弹出的openSUSE屏幕选择第一行就行了,耐心等待进入桌面。

点屏幕点左下角的抽屉,弹出窗口,鼠标点左面红色ROOT文件夹,照/sys/firmware/acpi/tables/打开DSDT所在地

按Ctrl n 新开个>home窗口,你用鼠标想把DSDT SSDT拉入>home窗口却发现不可能,因为有权限,只能用终端键入命令方式了。


打开终端,键入
sudo acpidump -o acpidump.txt         
按Enter,在>home窗口生成acpidump.txt
继续在终端键入
acpixtract acpidump.txt
按Enter,在>home窗口生成dsdt.dat 一堆ssdt.dat
下面反编译生成dsdt.dsl ssdt.dsl   先把文件名小写改成大写
终端键入
iasl -e SSDT*.dat -d DSDT.dat        或 iasl -da SSDT*.dat DSDT.dat


下面提取DSDT SSDT的方法不够严谨, 联合反编译时iasl -da SSDT*.dat DSDT.dat会无法通过,供参考

打开终端,先把3个SSDT用鼠标拉入终端,这时会弹出提示,点Paste Location



3个文件已经显示在终端,只需在最后键入 ~/  按HOME键在最前面键入sudo cp  注意空格,大小写。按Enter,SSDT就复制到


>home窗口中了。

sudo cp /sys/firmware/acpi/tables/DSDT SSDT* ~/

DSDT   dynamic文件夹中的3个SSDT 用同样的方法复制到>home窗口。



home文件夹中复制的DSDT SSDT文件。


全部的DSDT SSDT复制好后,反编译生成DSDT.dsl SSDT.dsl


openSUSE13.2的livecd比Ubuntu的livecd好的地方就是iasl已经存在,可以反编译并修改DSDT SSDT错误。


打开个新终端,键入:

sudo iasl -e SSDT* -d DSDT



反编译成DSDT.dsl,能看到窗口中DSDT.dsl已经有了。

然后检查DSDT.dsl中的错误,先在linux中修复错误,到MAC中打补丁要简单易行,毕竟会老是不记得切换ACPI4.0 acpi5.0


终端键入:

iasl -ve DSDT.dsl



终端中会显示错误信息,很直观。




在DSDT.dsl上点右键,用文本编辑器Kwrite打开



文本编辑器Kwrite设置显示行号,就能找到终端所指DSDT.dsl中错误所在,然后修改,保存。


另外几个SSDT 也是终端用 sudo iasl -d SSDT*   生成dsl文件,iasl -ve SSDT  检查错误并修改,不截图了。


完成后,把DSDT.dsl 几个SSDT.dsl复制到mac中,进一步修改打补丁。

haswell 8系芯片组的dsdt
如果错误较多,可用编译时无错误的SSDT进行组合反编译
*     OEM ID           "PmRef"
*     OEM Table ID     "CpuPm"
如ID为上面的SSDT-1.dsl能通过编译
则可用命令iasl -e SSDT-1.aml -d DSDT.aml       产生DSDT.dsl   错误会很少。

SSDT编译时错误太多,也可用iasl -e DSDT.aml SSDT-1.aml -d SSDT-3.aml     消除错误
SSDT太多只能一个个试验出错误最少的一种组合命令。

4

查看全部评分

Rank: 2Rank: 2

UID
3392387
帖子
103
PB币
242
贡献
0
技术
0
活跃
109
沙发
发表于 2015-1-27 10:18:49 IP属地浙江 |只看该作者
没看到哪里写为什么用openSUSE13.2不用Ubuntu。。

小学生

Rank: 11Rank: 11Rank: 11

UID
71938
帖子
11564
PB币
24447
贡献
0
技术
60
活跃
2064

8周年庆典勋章

板凳
发表于 2015-1-27 12:31:14 IP属地四川 |只看该作者
"没看到哪里写为什么用openSUSE13.2不用Ubuntu"  提出同样疑问

将军

Rank: 7Rank: 7Rank: 7

UID
1077845
帖子
1324
PB币
196
贡献
0
技术
8
活跃
2939
4F
发表于 2015-1-27 12:44:56 IP属地河北 |只看该作者
春支持一下吧,clover不折腾路过

Rank: 11Rank: 11Rank: 11

UID
557098
帖子
7133
PB币
16211
贡献
0
技术
39
活跃
2112
5F
发表于 2015-1-27 14:09:19 IP属地上海 |只看该作者
学习一下。谢谢分享!!

Rank: 7Rank: 7Rank: 7

UID
223232
帖子
2265
PB币
8116
贡献
0
技术
4
活跃
252
6F
发表于 2015-1-27 16:12:30 IP属地北京 |只看该作者
支持,如果所有硬件都驱动好了,DSDT 就不必安装了吧?

Rank: 7Rank: 7Rank: 7

UID
223232
帖子
2265
PB币
8116
贡献
0
技术
4
活跃
252
7F
发表于 2015-1-27 16:16:54 IP属地北京 |只看该作者
没用板载都声卡,独立声卡 Jli@ 官方有驱动,但是系统信息那儿显示“音频>搜索此设备信息出错”,不过声卡倒是正常工作。

多媒体键盘上的媒体类控制键,比如播放、音量和静音按键应该是好用的吗?

Rank: 7Rank: 7Rank: 7

UID
4001066
帖子
1039
PB币
141
贡献
0
技术
14
活跃
2344
8F
发表于 2015-2-4 13:37:12 IP属地浙江 |只看该作者
好贴留名支持下
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛