命令中有重大的錯(cuò)誤和誤導(dǎo):
1. 備份內(nèi)核擴(kuò)展, 忽略了root權(quán)限和保留kext權(quán)限, 這樣備份出來(lái)的kext導(dǎo)致的后果就是所有的內(nèi)核擴(kuò)展因?yàn)闄?quán)限變動(dòng)簽名失敗, 這個(gè)對(duì)白蘋(píng)果有多大的影響呢? 簡(jiǎn)而言之就是從10.9引入kext sign之后, 你恢復(fù)回去連系統(tǒng)都進(jìn)不去, 更別提10.10的kext-dev-mode=1和10.11的SIP保護(hù)了.
2. 重建緩存: Apple官方在kext開(kāi)發(fā)中寫(xiě)的很清楚了重建緩存的命令. 從10.9之后的系統(tǒng)也沒(méi)有了/System/Library/Extensions下面的kernel cache. 正確的命令應(yīng)該是:
sudo touch /System/Library/Extensions
sudo /bin/kill -1 `ps -ax | awk '{print $1" "$5}' | grep kextd | awk '{print $1}'`
sudo kextcache -u /
3. 在bash終端下并不完全嚴(yán)格區(qū)分大小寫(xiě), 至少touch出來(lái)的文件就是大小寫(xiě)不敏感的.
4. Kshell不是OS X默認(rèn)的shell, 隨意改用會(huì)導(dǎo)致sh執(zhí)行失敗.
5. rm -rf命令不建議新手使用. 除非CsrActiveConfig(SIP)=0x0.
6. 看到natti文件, 如果我沒(méi)有猜錯(cuò)樓主用的是hackintosh(黑蘋(píng)果). 現(xiàn)在Nvidia的顯卡基本上是原生驅(qū)動(dòng), 只要注入正確的DSDT或者顯卡信息就可以了, 再不濟(jì)也是使用Nvidia官方開(kāi)發(fā)Webdriver來(lái)驅(qū)動(dòng).
7. 想要參考更多常用的OS X命令大家可以參考https://github.com/syscl/M3800/blob/M3800/Deploy.sh, 如果覺(jué)得有幫助可以在那個(gè)M3800的項(xiàng)目下面點(diǎn)一顆star ;)