---前提---

  1. 你得用 Clover 引导 (......)
  2. 开启 kernelcache (开了也能 inject kext,还能patch kext,速度又快,为啥不开)
  3. 你的 AppleHDA 现在工作正常   ---方法---   先说 AppleHDA 的,估计就这个关注的人多,其他都是小意思。   1. 把你修改过的xml 文件改名后添加到 AppleHDA 里。把文件名.xml.zlib 改成 .zml.zlib 例如 layout3.xml.zlib -> layout3.zml.zlib。 如果是下载的现成驱动不确定用到了哪个,索性把全部 .xml.zlib都改掉,不影响使用。   2. 建立 patch 项目,如果你之前就用了kext patch那就不用我说了,如果没用过,需要建立如图1项目。后面的0-5就不用管了,是Array下面的小项,你建几个就有几个=。=   3. 在 Clover 的配置文件添加下列kext patch项目
  <dict>
  <key>Comment</key>
  <string>Patch_to_ALC887 (xml.zl to zml.zl)</string>
  <key>Find</key>
  <data>
  eG1sLnps
  </data>
  <key>Name</key>
  <string>AppleHDA</string>
  <key>Replace</key>
  <data>
  em1sLnps
  </data>
  </dict>
  <dict>
  <key>Comment</key>
  <string>Patch_to_ALC887 (patch vid pid)</string>
  <key>Find</key>
  <data>
  ixnUEQ==
  </data>
  <key>Name</key>
  <string>AppleHDA</string>
  <key>Replace</key>
  <data>
  hwjsEA==
  </data>
  </dict>
  添加的项目上已经有了基本的说明,我再简单解释一下吧。 第一项是重点,让AppleHDA读取资源时不再读取xml.zlib, 而是读取 zml.zlib (机智的小伙伴你好。。。),这样系统升级 AppleHDA升级时就不会把我们改好的定义覆盖掉。 后一项就是binary patch,让 AppleHDA 能接受我们硬件的vid 和 pid了。   我这里用来示范的数据时 ALC887 声卡的数据 (技嘉 B75M-D3V Rev 1.1),声卡不同的用PlistEdit Pro修改 Patch_to_ALC887 (patch vid pid) 下面那个 Replace 对应的 data 就好。   4. 应该已经能正常工作了。:)   顺便附上一些常用 patch,系统升级时能省去很多麻烦。包括了 开启Trim , 屏蔽AppleTyMCEDriver对 ECC 内存的检测,禁止某kext加载等。 看注释应该能懂吧
  <key>KextsToPatch</key>
  <array>
  <dict>
  <key>Comment</key>
  <string>ECC Memory Check Hack</string>
  <key>Find</key>
  <data>
  cgoATWFjUHJvNCwxAE1hY1BybzUsMQBY
  </data>
  <key>Name</key>
  <string>AppleTyMCEDriver</string>
  <key>Replace</key>
  <data>
  cgoAAAAAAAAAAAAAAAAAAAAAAAAAAABY
  </data>
  </dict>
  <dict>
  <key>Comment</key>
  <string>Trim Enabler</string>
  <key>Find</key>
  <data>
  QVBQTEUgU1NEAA==
  </data>
  <key>Name</key>
  <string>IOAHCIBlockStorage</string>
  <key>Replace</key>
  <data>
  AAAAAAAAAAAAAA==
  </data>
  </dict>
  <dict>
  <key>Comment</key>
  <string>Patch_to_not_load_this_driver</string>
  <key>Find</key>
  <string>0x04020000</string>
  <key>InfoPlistPatch</key>
  <true/>
  <key>Name</key>
  <string>AppleUpstreamUserClientDisabler</string>
  <key>Replace</key>
  <string>0x44220000</string>
  </dict>
  <dict>
  <key>Comment</key>
  <string>Patch_to_not_load_this_driver</string>
  <key>Find</key>
  <string>0x04020000</string>
  <key>InfoPlistPatch</key>
  <true/>
  <key>Name</key>
  <string>ApplePolicyControlDisabler</string>
  <key>Replace</key>
  <string>0x44220000</string>
  </dict>
  5.把HDA Hardware Config Resource的信息保存到 FakeSMC 里面,不再修改 AppleHDAHardwareConfigDriver.kext ,从而避免升级时被覆盖。   这个很简单, 就是把改好的AppleHDAHardwareConfigDriver.kext的info.plist 里面 IOKitPersonalities/HDA Hardware Config Resource 的内容复制出来,贴到FakeSMC.kext的 info.plist里面,依然是贴到 IOKitPersonalities 下。   这样FakeSMC里面的配置会替代 AppleHDAHardwareConfigDriver.kext , 也不用担心系统升级时 AppleHDAHardwareConfigDriver.kext 被覆盖导致声卡不能工作了。

最新文章

  1. 贪吃蛇的java代码分析(二)
  2. Druid 介绍及配置
  3. mysql5.5的安装与配置(亲测版)
  4. hdu3078 伪LCA……
  5. 【POJ 2485】Highways(Prim最小生成树)
  6. SublimeText使用技巧
  7. python生成带参数二维码
  8. [algorithm]求最长公共子序列问题
  9. Linux文件目录结构详解
  10. LeanCloud使用入门(android)
  11. wget 无法下载jdk的处理办法
  12. 第十四章:使用CSS3进行增强
  13. zookeeper原理介绍
  14. 初始hibernate 和环境搭建
  15. Idea环境下git 图形化操作
  16. Can not deserialize instance of xxx out of START_ARRAY token
  17. 数据结构与算法之PHP排序算法(归并排序)
  18. IDEA的maven配置
  19. Bytom国密网说明和指南
  20. mysql创建索引-----高性能(五)

热门文章

  1. hyperledger fabric 1.0.5 分布式部署 (五)
  2. Suse 11 sp4 安装Oracle 11g
  3. pgsql_sql查询效率优化
  4. CSS中em,px区别(转)
  5. Java | 基础归纳 | trim()
  6. Python入门小练习
  7. python入门之生成器
  8. JDK原子类操作
  9. 《Openstack的搭建》RHEL6.5
  10. leetcode128 Longest Consecutive Sequence