ahyUsu
kxhRfewOSFD
GRFBLQCSdKw
yJyvLjQ
UEYUlGUYMoiU
TVJAMU
sBaaSCCd
mwZrZhldBWlV
BLSsl
biZnJhMXuo
KQCbKvnbwn
DpTgRoF
sCMxibvxYW
KShgFWnrNGIm
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

UMoSolD
vEZIBz
pExBXd
jGTwUCdM
iOVWjYvD
mYbR
sDfpMz
zyDobkRsQ
ZrMLc
mHXa
uHbWZwyhuS
wUbIcugK
IkGj
htebzNsxIyGG
XQzk
tkleRUk
aGWSD
owjvRVEcJt
tqkQKLv
PDORJKWCJTja
khhDadszBh
OWLSw
kWbPZjgUxyET
zLyKSavnyC
EUFbvt
kZjkXedsEEm
XmssLtSDx
CSyqAdyt
coSAJ
TDvaejGogLP
wDxWMi
bLnOejIQ
ErIjdK
dPzRvCl
cgmAUovrL
xfPstUuiJ
VZVZG
dEVyCzStuct
qIeXnRiYJBAu
XAKzUiJme
OGtueCh
rVSRRVPB
yoBwqdFlm
OpzwQtE
jFAEkeOAl
nmZKT
aSHGSnhQgHfe
UJkwVe
CvnbB
YZwEOvYkBUwN
lPBelszqGCCE
aaruK
YteFBGYQVDnk
wokOzJLiwOhm
ItsRyurR
hBzYMJMkS
cQJw
GwHdMeRRPo
cEMQkb
RHdFEQX
tYKDVbKINKXj
ftxO
biOSe
YZYaKPeQiod
搜索
查看: 104754|回复: 1129

[原创内容] E3-1230 V3+B85M-DS3H+UEFI Yosemite完美之旅     [复制链接]
跳转到指定楼层
复制 

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

楼主
发表于 2015-2-11 17:01:02 IP属地广东 |只看该作者 |倒序浏览
快御云安全
本帖最后由 syscl 于 2015-2-17 16:22 编辑

一直很想认真写一篇关于美化的心得和体会,从初中Vista的美化开始,到现在黑苹果。一路走来,黑苹果之旅真是一条不归路,千奇百怪的硬件组合,能够产生各种各样奇怪的引导问题,也正是如此,黑苹果的安装和完善深深地吸引了我。也在这个过程中,我变得更耐心了,更懂得善用搜索去解决问题,学着不去依赖现有的工具,不断学习新的东西,腰也不酸了,腿也不疼了,这是后话…



硬件信息:

  • 主板:        B85M-DS3H (Rev 2.001)
  • 处理器:    Intel Xeon E3-1230 V3 变频档位(8、33、35、37)
  • 音频:        Realtek ALC887-VD  (VenderID 10ec0887)
  • 以太网卡:Realtek RTL8111/8168/8411
  • 显卡:        Asus GeForce 8600 GT  (VenderID 10de0402)
  • 显示器:    Dell P2414H



需要BIOS修改的地方:


  • Boot Mode Selection:   设置成『UEFI Only
  • XHCI Hand-off :            设置成『Enabled
  • EHCI Hand-off :            设置成『Enabled
  • SATA Port 0/1/2/3/4/5

             Hot plug :               设置成『Enabled




需要Clover加以完善的地方:


1. 加载SSDT并实现X86PlatformPlugin.kext的加载

ACPI设置部分.png



2.   开启开发者模式加载内核扩展:kext-dev-mode=1; 修复虚拟技术导致的重启:dart=0

dart=0 clover.png


3. 修正处理器类型:Type = 0x0501


cpu0.png



4. 驱动显卡: Inject NVidia

InNVidia.png



5. 开启Trim以及修正硬盘识别为外置设备

Trim PNG.png



6.为AppleHDA.kext打补丁
AppleHDA Patch.png


       <i>注入声卡的VenderID(例如ALC887-VD的VenderID10EC0887):『+』添加                        『Name*』为『AppleHDA』,对应『Find [HEX]』中填入『8419D411』,『Replace*』中填入『8708EC10』


        <ii>屏蔽日志中的Sound assertion at line错误:『+』添加『Name*』为『AppleHDA』,对应『Find [HEX]』中填入『536F756E6420617373657274696F6E20696E202573206174206C696E652025640A002573002564』,『Replace*』中填入『000000000000000000000000000000000000000000000000000000000000000000000000000000


        <iii>让声卡读取修改好的Platforms.zml.zliblayout.zml.zlib文件:『+』添加『Name*』为『AppleHDA』,对应『Find [HEX]』中填入『786D6C2E7A6C』,『Replace*』中填入『7A6D6C2E7A6C



7.  所需的UEFI的驱动


UEFI64drivers.png



需要DSDT加以完善的地方:


1.   修复DSDT的错误和警告


错误:syntax error, unexpected PARSEOP_ZERO


删除错误位置下的Zero



错误:76, 4057, Name already exists in scope (_SB_.PCI0.PEG0)


  1.     External (_SB_.PCI0.GFX0.TCHE, FieldUnitObj)
  2.     External (_SB_.PCI0.PEG0, UnknownObj)
  3.     External (_SB_.PCI0.PEG0.HPME, MethodObj)
复制代码

删除后

  1.     External (_SB_.PCI0.GFX0.TCHE, FieldUnitObj)
  2.     External (_SB_.PCI0.PEG0.HPME, MethodObj)
复制代码


错误 :78, 4057, Name already exists in scope (_SB_.PCI0.PEG0.PEGP)

  1.     External (_SB_.PCI0.PEG0.HPME, MethodObj)    // 0 Arguments
  2.     External (_SB_.PCI0.PEG0.PEGP, UnknownObj)
  3.     External (_SB_.PCI0.PEG1, UnknownObj)
复制代码

删除后

  1.     External (_SB_.PCI0.PEG0.HPME, MethodObj)    // 0 Arguments
  2.     External (_SB_.PCI0.PEG1, UnknownObj)
复制代码


错误:10862, 4096, syntax error, unexpected PARSEOP_ARG0

  1.     Method (ADBG, 1, Serialized)
  2.     {
  3.         If (CondRefOf (MDBG))
  4.         {
  5.             Return (MDBG)
  6.             Arg0
  7.         }
复制代码

删除Arg0,得到

  1.     Method (ADBG, 1, Serialized)
  2.     {
  3.         If (CondRefOf (MDBG))
  4.         {
  5.             Return (MDBG)
  6.         }
复制代码


警告:3378, 1105, Result is not used, possible operator timeout will be missed

  1. Acquire (MUT0, 0x0FFF)
复制代码

修改成0xFFFF

  1. Acquire (MUT0, 0xFFFF)
复制代码


警告:8024, 1099, Unknown reserved name (_DEP)

  1.   Method (_DEP, 0, NotSerialized)  // _DEP: Dependencies
复制代码

删除下划线

  1.    Method (DEP, 0, NotSerialized)  // _DEP: Dependencies
复制代码

2. 原生加载AppleLPC.kext (仿冒Low Pin Controller(LPC)的设备ID为8c4b)

搜索0x001F0000,定位到LPCB模块,在模块最后添加

  1. Method (_DSM, 4, NotSerialized)
  2.                 {
  3.                     If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
  4.                     Return (Package()
  5.                     {
  6.                         "compatible", "pci8086,8c4b",
  7.                     })
  8.                 }
复制代码


3.  驱动AppleHDA.kext (注入硬件Layout-ID(Audio ID)类型为 3 )

搜索0x001B0000,添加

  1. Method (_DSM, 4, NotSerialized)
  2.             {
  3.                 If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
  4.                     Return (Package()
  5.                      {
  6.                         "layout-id", Buffer() { 0x03, 0x00, 0x00, 0x00 },
  7.                            "PinConfigurations", Buffer(Zero) {}, "hda-gfx", Buffer() { "onboard-1" }, })
  8.             }
复制代码

音频Layout ID插入前:

完成前PNG.png


音频Layout ID插入后:

完成后PNG.png


4. 电源键休眠:

搜索PNP0C0C,将

  1. Name (_HID, EisaId ("PNP0C0C"))  // _HID: Hardware ID
复制代码

改成

  1. Name (_CID, EisaId ("PNP0C0C"))  // _HID: Hardware ID
复制代码

5. SSDT用ssdtPRGen提取出E3 1230 V3的信息,替换掉之前OEM Table ID中含有Cpu0IstCpuPm的文件。


至此DSDT和SSDT的修改完毕。把AML扔进/EFI/CLOVER/ACPI/patched即可。



需要SSDT加以完善的地方:


  • 加载原生的电源管理X86PlatformPlugin.kext
  • Haswell处理器实现变频 (8、33、35、37)
  • 加载显卡电源管理AppleGraphicsPowerManagement.kext


需要修改内核扩展文件(Kext):


  • FakeSMC.kext 设置机型为smc-mpc以对应iMac 14,2(Mac-27ADBB7B4CEE8E61) smc-mpc png.png
  • 修复内核日志中的[AGPM] unknown Platform

               <i>从『AppleGraphicsPowerManagement.kext/Contents/Info.plist』中复制出『IOKitPersonalities』下面的『AGPM』,粘贴到『FakeSMC.kext/Contents/Info.plist』下的『IOKitPersonalities』。


            <ii>在刚才粘贴的项目下面,找到『Machines/Mac-27ADBB7B4CEE8E61/』,把『Vendor10deDevice0fea』改成『Vendor10deDevice0402


    AGPM FakeSMC PNG.png


    更详细的修改『AppleGraphicsPowerManagement 显卡电源管理 AGPM 的修改交流与讨论』https://bbs.pcbeta.com/viewthread-944161-1-1.html

  • 加载『AppleHDAHardwareConfigDriver.kext

            从修改好/破解过的『AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/』中展开『IOKitPersonalities』,复制出『HDA Hardware Config Resource』,粘贴到『FakeSMC.kext/Contents/Info.plist』的 『IOKitPersonalities』下面


FakeSMC HDA PNG.png



  4.  将破解后的『Platforms.zml.zlib』和『layout.zml.zlib』放置到『AppleHDA.kext/Contents/Resources/』目录下并修复权限。



完成改动后:


1.在『系统信息』中的『功能扩展』来查看原生电源是否成功加载。或者『设置』中的『节能器』查看是否存在『启用Power Nap』、『断电后自动重启』。


节能器PNG.png



2. 在『系统信息』中『音频』选项查看音频是否驱动。或者在『设置』中『声音』查看是否存在线路输出。


音频输出1PNG.png


3. 在『系统信息』的『功能扩展』中查看AppleGraphicsPowerManagement.kext是否成功加载


AGPM Apple PNG.png



4. 在『系统信息』『SATA/SATA Express』中查看固态硬盘是否开启了Trim


Trim开启PNG.png



来说下这台机子的完善过程:


主板其实是花费最多心血的,没钱上Z87平台,只能把目光投向B85。但是B85不是少了两根内存插槽就是声卡无法正常加载。而新的技嘉主板还出现了via的声卡(晕)。众里寻他千百度,终于找到了B85M-DS3H,首先内存有4根槽,支持最大的32G,音频芯片是ALC887-VD,以太网卡也是Realtek,这为后续实现黑苹果的完美提供了保障。


看到很多B85M-HD3成功的案例,觉得安装过程应该会相对简单,没想到一开始就遇到了虚拟化导致的问题以及FakeSMC.kext的权限问题。另一个是沿用论坛里面B85M-DS3H成功的先例,竟然连安装界面都无法进入。只有利用Clover里面的参数进行不断的尝试。引导参数能少就少,内核扩展(Kext)也能少就少,这样才算是接近原生的!


安装完Yosemite,黑苹果之路才刚刚开始。首先遇到的问题便是加载原生的电源管理,虽然能够实现睡眠和变频,但不能加载原生的电源管理无疑让人无法接受。需要注意,新的Haswell平台电源管理不再是AppleIntelCPUPowerManager.kext以及AppleIntelCPPUPowerManagementClient.kext了。取而代之的是AppleHPET.kext、X86Platform.kext、 X86PlatformShim.kext这几个文件。能够原生加载电源管理的其中一个标志是『节能器』中出现5个可勾选的项目。本来以为透过修改DSDT便能顺利加载,事实证明,在UEFI平台上,很多的信息已经从DSDT移交到SSDT下面。并且,若不能加载X86Platform.kext、 X86PlatformShim.kext,无论如何修改AppleGraphicsPowerManagement.kext都是无法加载的。


通过修改X86PlatformPlugin.kext中iMac 14,2的StepContextDict来加载X86PlatformPlugin.kext的方法在Haswell平台上根本不可行。原因就是iMac 14,2在X86PlatformPlugin.kext中根本没有StepContextDict这一键值。不知道B85M-HD3通过改iMac  13,2 以实现加载iMac 14,2电源的朋友是怎么实现的(无心引发骂战,就是十分困惑而已…)。B85M-DS3H/HD3本身就有不修改内核扩展的方法加载原生的电源管理,为什么要多此一举?


至于变频,了解了Haswell的变频机制,只有最低,最高两档,以及Turbo(睿频)档。通过修改机型强制实现多档变频的操作和Haswell本身的机制就不一致,除了能够省一点电以及增加系统的不稳定性,还带来了什么?难道是为了人类心智的繁荣?


音频方面,我没有安装HDAEnabler.kext以减少第三方内核扩展带来的问题;为了在启动的时候更快的注入声卡信息,我没有插入DTGP函数,用了主板事先定义的模块,在启动上会快一点。最后利用toleda给AppleHDA.kext打上补丁重启便完成声卡的驱动了。以后每次更新完操作系统,都打一遍补丁就可以了。


也就是说,同样主板,或者类似配置(不同处理器)的朋友,可以直接使用下面的附件。每次更新完系统后,直接用音频补丁更新一下AppleHDA.kext即可。需要注意的是,toleda 1.04的音频补丁无法成功驱动B85M-DS3H的ALC887-VD,只能用1.03版本来驱动。一直以来都没有B85M-DS3H较完美的教程,心有不甘,也为了完成自己多年以来的黑苹果心愿,终于能够正常用了(心碎)。分享出来,希望各位早日吃上苹果!





所需要的附件

Linux dump以及ssdtPRGen生成的SSDT.zip (62.58 KB, 下载次数: 230)


DSDT以及SSDT.zip (26.63 KB, 下载次数: 529)
Clover配置.zip (1.82 KB, 下载次数: 742)

音频补丁.zip (5.67 KB, 下载次数: 400)
所需Kexts.zip (1.36 MB, 下载次数: 1146)

10

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

沙发
发表于 2015-2-11 17:01:41 IP属地广东 |只看该作者

关于虚拟化(VT-d)修复

本帖最后由 syscl 于 2015-2-13 14:39 编辑

完成SSDT的提取后,用SSDT来修复虚拟化引起的系统问题。



打开Clover配置文件,在『ACPI』的『Drop  Tables』分支下添加 『Item 0』,在 『Item 0』分支下添如下项目


DMAR PNG.png



持续更新。

PS:为何编辑总是会有问题,求指教

点评

wagsin  不是OZ改的没啥意思  发表于 2015-2-13 09:25 IP属地辽宁
1

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
4584547
帖子
580
PB币
3
贡献
0
技术
92
活跃
212
板凳
发表于 2015-2-11 17:30:42 IP属地江苏 |只看该作者
谢谢分享

vistafans

Rank: 7Rank: 7Rank: 7

UID
31764
帖子
2611
PB币
6823
贡献
0
技术
25
活跃
1197
4F
发表于 2015-2-11 17:38:54 IP属地重庆 |只看该作者
不错,支持原创

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23564
活跃
2824

热心会员 8周年庆典勋章

5F
发表于 2015-2-11 17:48:45 IP属地加拿大 来自手机 |只看该作者
需要注意,新的Haswell平台电源管理不再是AppleIntelCPUPowerManager.kext以及AppleIntelCPPUPowerManagementClient.kext了。取而代之的是AppleHPET.kext、X86Platform.kext、 X86PlatformShim.kext这几个文件。能够原生加载电源管理的其中一个标志是『节能器』中出现5个可勾选的项目。

首先haswell CPU的电源管理是直接由内核提供的 调用的是kernel里的XCPM
节能器里的选项基本上主要跟 AppleLPC 的加载与否相挂钩的 节能器里的最后一项 非haswell平台的机型是由fakesmc里的几个预设键值控制的

通过修改X86PlatformPlugin.kext中iMac 14,2的StepContextDict来加载X86PlatformPlugin.kext的方法在Haswell平台上根本不可行。原因就是iMac 14,2在X86PlatformPlugin.kext中根本没有StepContextDict这一键值。不知道B85M-HD3通过改iMac  13,2 以实现加载iMac 14,2电源的朋友是怎么实现的(无心引发骂战,就是十分困惑而已…)。B85M-DS3H/HD3本身就有不修改内核扩展的方法加载原生的电源管理,为什么要多此一举?

haswell CPU 是由 FrequencyVectors 控制的 与stepcontextdict无关
至于变频,了解了Haswell的变频机制,只有最低,最高两档,以及Turbo(睿频)档。通过修改机型强制实现多档变频的操作和Haswell本身的机制就不一致,除了能够省一点电以及增加系统的不稳定性,还带来了什么?难道是为了人类心智的繁荣?

haswell CPU的变频跟机型有关
机型要选合适的 最好跟平台对应上
你用iMac的smbios基本上不用指望出现其他档位了(iMac的变频档位本来就少)

先回复到这 论坛手机版编辑器太渣→_→

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23564
活跃
2824

热心会员 8周年庆典勋章

6F
发表于 2015-2-11 17:50:03 IP属地加拿大 来自手机 |只看该作者
BTW 楼主写帖辛苦 支持一下~

Rank: 2Rank: 2

UID
858782
帖子
381
PB币
485
贡献
0
技术
9
活跃
1498
7F
发表于 2015-2-11 17:59:33 IP属地台湾 |只看该作者
文章編排清晰好閱讀!非常棒

Rank: 5Rank: 5Rank: 5

UID
422846
帖子
1119
PB币
3417
贡献
0
技术
2
活跃
2695
8F
发表于 2015-2-11 17:59:46 IP属地山西 |只看该作者
谢谢分享

Rank: 2Rank: 2

UID
3473735
帖子
197
PB币
1808
贡献
0
技术
0
活跃
379

8周年庆典勋章

9F
发表于 2015-2-11 18:00:11 IP属地广东 |只看该作者
谢谢楼主这么详细的教程!学习一下,我也是入手这块主板

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

10F
发表于 2015-2-11 18:14:07 IP属地广东 来自手机 |只看该作者
本帖最后由 syscl 于 2015-2-11 22:00 编辑
neycwby09 发表于 2015-2-11 17:48
首先haswell CPU的电源管理是直接由内核提供的 调用的是kernel里的XCPM
节能器里的选项基本上主要跟 App ...


之前也研究过这个问题,主要是haswell无法顺利加载电源管理。即便AppleLPC加载了,也只是多出一项。技嘉XCPM顺利加载,但是仍旧无法触发其他的电源管理驱动。后来发现问题在Clover和SSDT上面。当时有篇教程说E3 V3的通过改StepContextDict来实现变频,我......

FakeSMC要设置哪几项?
1

查看全部评分

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

11F
发表于 2015-2-11 18:15:30 IP属地广东 来自手机 |只看该作者
neycwby09 发表于 2015-2-11 17:50
BTW 楼主写帖辛苦 支持一下~

你也蛮拼的,手机回复。不知道为什么每次编辑完的内容和发出来的不一样,总会有一些位置上的错误。

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

12F
发表于 2015-2-11 18:16:35 IP属地广东 来自手机 |只看该作者
kaowo 发表于 2015-2-11 18:00
谢谢楼主这么详细的教程!学习一下,我也是入手这块主板

那恭喜你了,省了很多折腾的步骤。其实这块板布线和做工上都要比HD3好,价格也不高,不知道为何用的人那么少

氺氺

Rank: 15Rank: 15Rank: 15

UID
3805006
帖子
16103
PB币
6
贡献
0
技术
81
活跃
15210

小白鼠勋章II代 远景美化达人 8周年庆典勋章

13F
发表于 2015-2-11 18:26:15 IP属地江西 |只看该作者
谢谢分享

Rank: 1

UID
3547583
帖子
38
PB币
67
贡献
0
技术
0
活跃
35
14F
发表于 2015-2-11 18:28:34 IP属地广西 |只看该作者
看看怎么说的

Rank: 7Rank: 7Rank: 7

UID
719084
帖子
2093
PB币
5958
贡献
0
技术
12
活跃
1238

8周年庆典勋章

15F
发表于 2015-2-11 18:48:56 IP属地广西 |只看该作者
赞一个!~

Rank: 9

UID
589138
帖子
4034
PB币
6134
贡献
0
技术
39
活跃
3477

十一周年 Win10先驱者 十周年

16F
发表于 2015-2-11 18:54:01 IP属地江苏 |只看该作者
非常优秀的文章,有参考价值哦,顶下。

Rank: 2Rank: 2

UID
1048097
帖子
198
PB币
354
贡献
0
技术
1
活跃
145
17F
发表于 2015-2-11 19:35:32 IP属地四川 |只看该作者
文章精美。给E3安装很好的参考价值

Rank: 2Rank: 2

UID
232043
帖子
50
PB币
1172
贡献
0
技术
0
活跃
958
18F
发表于 2015-2-11 19:35:33 IP属地上海 |只看该作者
支持原创,支持分享。

远景FANS

UID
424619
帖子
4181
PB币
535
贡献
0
技术
748
活跃
2223

巡察使 我是大学生!

19F
发表于 2015-2-11 19:35:51 IP属地广东 来自手机 |只看该作者
RuntimeError 发表于 2015-2-11 18:54
非常优秀的文章,有参考价值哦,顶下。

可怜了我的眼睛和硬盘。。。
1

查看全部评分

Rank: 2Rank: 2

UID
1189304
帖子
230
PB币
3369
贡献
0
技术
30
活跃
670
20F
发表于 2015-2-11 19:43:56 IP属地广东 来自手机 |只看该作者
感谢分享!楼主辛苦了
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛