这是个困惑我很久的问题,虽然不是什么大问题,但是确实讨厌。比如:我将我的osx-command-line项目存放在~/.yekki目录下,我们知道如果文件或文件夹名子前面有”.”,则表示被隐藏,所以,如果我想用Sublime-Text应用打开时应无法看到他们。今天认真查了下,原来解决办法是:先点击“打开”,待文件选择窗体出现后按“shift+cmd+.”即可看到隐藏的文件与文件夹。

可能是新版本的OSX加强了安全保护,在打开www.macx.cn下载的破解程序时,会弹出一个警告框,报告说:它含有“OSX.GenieoDropper.A”恶意软件。解决办法是将破解程序复制下来,例如:复到到~/目录下,然后打开”终端”应用,输入:xattr -cr ,然后将复制的破解程序拖拽到“终端”上回车,再重新运行破解程序就可以正常打开了。

公司每两年更新一次电脑,这次,我没有选择Lenovo系列,而是选择了东芝的Z30-B。为啥选择东芝呢?一是Lenovo品质越来越差,我早已对其失望透顶;二是我现在成功黑苹果的都是Lenovo系列,这次想试试东芝系列。经过几天的努力,终于将其成功拿下!虽然整个过程还算顺利,但是也是意外频发,害得我熬了一夜,现在写篇总结,避免后人走弯路。

总得来说,这个机型最难搞得是其显卡HD5500(Broadwell核显)。我使用的方法是AAPL, ig-platform-id注入(参见:Framebuffer data extracted from AppleIntelBDWGraphicsFramebuffer binary)。但是,这里需要注意的是:苹果在AppleIntelBDWGraphicsFramebufferbinary里增加了最小被盗内存(minimum stolen memory),如果你的DVMT预置内存小于66MB,这将会导致五国或异常重启。台式机可以在BIOS自由调节DVMT预置内存。笔记本中BIOS默认DVMT内存为32MB,OEM厂商不提供修改的选项。解决这个问题的方法有两个:

方法一:通过Clover Kexts注入,修改DVMT断言验证,具体步骤:

  • 设置SMBIOS
<key>SMBIOS</key>
<dict>
	<key>ProductName-Comment</key>
	<string>Using Haswell MacBookAir6,2 until Clover has support for Broadwell identifiers</string>
	<key>ProductName</key>
	<string>MacBookAir6,2</string>
	<key>Trust</key>
	<true/>
</dict>
  • ig-platform-id注入
<key>ig-platform-id</key>
<string>0x16260006</string>
  • AppleIntelBDWGraphicsFramebuffer.kext 注入
<dict>
	<key>Comment</key>
	<string>Disable minStolenSize less or equal fStolenMemorySize assertion, 10.11.beta ( (based on Austere.J patch)</string>
	<key>Disabled</key>
	<false/>
	<key>Find</key>
	<data>
	QTnEdj4=
	</data>
	<key>Name</key>
	<string>AppleIntelBDWGraphicsFramebuffer</string>
	<key>Replace</key>
	<data>
	QTnE6z4=
	</data>
</dict>

方法二:修改BIOS,增加DVMT值

我没有试这种方法,实在是太麻烦,更何况修改BIOS是件很危险的事情,搞不好就变砖了。当然,如果有实力,这种方法也是最解决问题的!具体步骤参见:

[GUIDE] Intel HD Graphics 5500 on OS X Yosemite 10.10.3

注意事项

在整个过程中,我还是犯了以下错误,以后要尽量避免:

  • config.plist 中忘了添加 SortedOrder 相关条目
  • 如果包含了所有SSDTs,不要打system_PNOT补丁
  • 只有在USB3工作不正常时才需要加入GenericUSBXHCI.kext
  • 打补丁misc_Lid_PRW,避免“睡眠快醒”现象
  • 外接WIFI会影响电脑睡眠

处理突发问题

本来安装好后基本完美了,然后想调试下ALPS多点触控功能,于是,把相关Kext放在了/Library/Extensions目录下了,然后就再也进不去了(中间过程中,我用了KCPM Utility Pro 3.3修复权限,此软件用了很长时间,我中途手工中止又重试,所以,我也搞不懂到底是哪个步骤出了问题)。我甚至想用USB启动重装系统,但是还是无法进入系统。后来,我试着在Clover启动界面中手工将ig-platform-id值改为0x16260001,这下倒是进去了,但是显存只有4M了,基本无法使用。我试着重装了一下,然后将系统升级到10.11.3,然后重新修复权限,将ig-platform-id重新改回0x16260006,然后就正常了,显存为1536M。问题虽然解决了,但是有点莫名其妙!

还不完善的地方

相对来讲,此型号笔记本不太适合黑苹果,有些问题是无法绕过的,问题如下:

  • 内置Intel 7265NGW(NGFF接口,似乎苹果产品从未使用过此接口,所以找不到合适的卡替换)无解
  • ALPS触摸板多指触摸功能还未调试成功
  • SD读卡器无解(这个基本不怎么用,所以也没认真研究)

为了得到最新版本的Clover,我使用CloverGrowerPro从源码编译。由于Clover使用SVN管理源代码,而我们公司网络需要设置代理才能访问,因此,我不得不修改CloverGrowerPro以满足要求。具体步骤如下:

  • 修改~/.subversion/servers
[global]
http-proxy-host=yourproxyhost
http-proxy-port=yourproxyport
....
  • 修改CloverGrowerPro.sh

由于使用HTTP代理,我们不得不把所有 “svn://” 改成 “https://”。这里,我们需要改写的是

CLOVERSVNURL='svn://svn.code.sf.net/p/cloverefiboot/code'

改为:

CLOVERSVNURL='https://svn.code.sf.net/p/cloverefiboot/code'

另外,在函数installToolchain(),installGettext(),installNasm()中也有对于SVN的调用,我们需要做如下修改

svn export --force "$CLOVERSVNURL"/buildnasm.sh "$srcDIR"/buildnasm.sh >/dev/null

改为:

svn export --config-option servers:global:http-proxy-host=yourproxyhost --config-option servers:global:http-proxy-port=yourproxyport --force "$CLOVERSVNURL"/buildnasm.sh "$srcDIR"/buildnasm.sh >/dev/null

当然,为了方便使用,你也可以定义个变量存放代理设置,例如:

PROXY="--config-option servers:global:http-proxy-host=yourproxyhost --config-option servers:global:http-proxy-port=yourproxyport"

......

svn export $PROXY --force "$CLOVERSVNURL"/buildnasm.sh "$srcDIR"/buildnasm.sh >/dev/null

另外,在运行 “./CloverGrowerPro.sh -s” 时,记得将svn改成https,例如:

EDK2 svn url to use [svn://svn.code.sf.net/p/edk2/code/trunk/edk2]:https://svn.code.sf.net/p/edk2/code/trunk/edk2

查看NVRAM内容

nvram -xp

参数-p 是查看,-x 是以XML格式查看

删除NVRAM变量

nvram -d (variable key name goes here)

例如:

nvram -d SystemAudioVolume

清除所有NVRAM变量

nvram -c

重置NVRAM变量还有一个比较麻烦的办法是:重启电脑,并同时按下: Command+Option+P+R,听到两声电脑重启的声音后松开按键。