如何让升级时AppleHDA不再折腾
---前提--- 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 被覆盖导致声卡不能工作了。
如何让升级时AppleHDA不再折腾的更多相关文章
- 不再折腾-----hadoop-1.2.1完全分布式安装
准备工作 三台虚拟机,强烈推荐vmware + centos6.5 三台虚拟机均设有hadoop用户 IP地址设置 IP地址 hostname 192.168.11.100 master 192.16 ...
- ZIP压缩算法详细分析及解压实例解释
最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...
- 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- 升级到VS2013.Update.4的问题
升级到VS2013.Update.4后,编译VS2010的解决方案出错,提示AxImp.exe找不到,到网上搜索后,没有找到能用的法子: 修复VS2013后也无法解决: 折腾2个小时后终于找到问题了: ...
- Ubuntu Desktop安装及桌面美化(修复图片)
Ubuntu Desktop安装及桌面美化 1 开篇概述 本 系统的文章主要是讲互联网方向的开发主题.根据目前主流互联网公司的技术架构,Linux是必不可少的.对于一直习惯于在Windows下工作 ...
- JavaService应用中的注意事项
最近有个技术需求,要把已写好的Java程序注册成Windows服务,网上搜了两个快捷办法,一个是Java Service Wrapper,这是个收费的第三方组件,免费的版本还没有适合64位Win7系统 ...
- 我写了个教程《一步步教你把ubuntu安装到U盘》
一步步教你把ubuntu安装到U盘 作者 Val 2452013147@qq.com 原因: 由于某些原因(学生党),需要把ubuntu安装到U盘到处走,百度了一下,教程都不是很好,要么很复杂,要么不 ...
- 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
- CSS选择符详解之关系选择符篇
原文:http://www.chinaz.com/web/2012/1017/278553.shtml 相信大家都对CSS选择符都不陌生,选择符包含:元素选择符.关系选择符.属性选择符.伪类选择符.伪 ...
随机推荐
- bzoj 3996: [TJOI2015]线性代数【最小割】
把转置矩阵看成逆矩阵吓傻了233 首先按照矩乘推一下式子: \[ D=\sum_{i=1}^n a[i]*(\sum_{j=1}^n a[j]*b[j][i])-c[i] \] \[ D=(\sum_ ...
- bzoj 2597: [Wc2007]剪刀石头布【最小费用最大流】
脑子不太清楚一个zz问题调了好久-- 首先正难则反,因为三元环好像没什么特点,就考虑让非三元环个数最小 考虑非三元环特点,就是环上一定有一个点的入度为2,联系整张图,三元环个数就是每个点C(入度,2) ...
- CentOS 利用 yum 安装卸载软件常用命令
一.yum安装和卸载软件 有个前提是yum安装的软件包都是rpm格式的. 安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突, ...
- Eclipse开发MR环境搭建
1.jdk环境配置 jdk安装后好后配置相关JAVA_HOME环境变量,并将bin目录配置到path 2. 下载hadoop-2.7.1.tar.gz 解压hadoop-2.7.1.tar.g ...
- Python scrapy框架爬取瓜子二手车信息数据
项目实施依赖: python,scrapy ,fiddler scrapy安装依赖的包: 可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载 pywi ...
- Validation(2)
站在巨人的肩膀上 spring注解式参数校验 2016年06月15日 15:42:47 God_Ming 阅读数:57021 标签: springhibernatevalidator 更多 个人分类: ...
- extern使用方法总结!(转)
extern 在源文件A里定义的函数,在其它源文件里是看不见的(即不能访问).为了在源文件B里能调用这个函数,应该在B的头部加上一个外部声明: extern 函数原型: 这样,在源文件B里也可以调 ...
- scrapy框架中Spiders用法
scrapy框架中Spiders用法 Spider类定义了如何爬去某个网站,包括爬取的动作以及如何从网页内容中提取结构化的数据 总的来说spider就是定义爬取的动作以及分析某个网页 工作流程分析 以 ...
- [POI2011]Plot
https://szkopul.edu.pl/problemset/problem/mzrTn1kzVBOAwVYn55LUeAai/site/?key=statement 既卡常又卡精度...真的A ...
- 100 Same Tree 相同的树
给定两个二叉树,写一个函数来检查它们是否相同.如果两棵树在结构上相同并且节点具有相同的值,则认为它们是相同的.示例 1:输入 : 1 1 / \ ...