- 积分
- 63
- 最后登录
- 2021-1-9
- 精华
- 0
- 阅读权限
- 20
- 主题
- 16
- UID
- 1458295
- 帖子
- 97
- PB币
- 95
- 威望
- 4
- 贡献
- 0
- 技术
- 0
- 活跃
- 119
- UID
- 1458295
- 帖子
- 97
- PB币
- 95
- 贡献
- 0
- 技术
- 0
- 活跃
- 119
|
本帖最后由 gatysyso0 于 2019-10-17 09:46 编辑
哇,这万恶的编辑器又又炸了...
-----------------------------------------
上一个帖传送门:https://github.com/xzhih/one-key-hidpi
闲谈:对于SIP以及Clover的Kext还有点想说的。
首先是Kext,我的第三方驱动都是放在了Clover的Kext目录下的。这样做有个好处,配合config.plist里面System Parameters下的Inject Kexts,省去了每次更新驱动都需要重建缓存的问题。具体做法是:将Inject Kexts的参数Detect(自动检测,留空默认也是Detect)更改为YES(必须注入Kexts)。所以,有时大家往Clover扔一些新的驱动的时候,发现不生效;但是重建缓存之后就生效了,其实也是同理的。因为Detect(自动检测)在你重建缓存之后,会去读取Clover/Kext下的驱动。同理,当我们设置参数为YES的时候,就可以完全无视缓存重建这个问题;当然,前提是你的SLE是没有修改过的,不然还是需要重建。介于10.15对目录结构的权限有了更新,如果有不想解除权限以及觉得重建麻烦的朋友可以以此作为参考。
接着说说SIP,这玩意是苹果公司加了新一道锁,我记得第一次听到这个名词的时候还是在酋长版本,时间真快啊...言归正传,上面说到CsrACtiveConfig更改为0x67就可以完全关闭SIP了。但这里存在一个隐患,详细的技术分析请参见@linzhouyu 先生的这篇SIP的简要说明,地址:
https://bbs.pcbeta.com/viewthread-1605186-1-1.html
说隐患,无非就是0x67是完全关闭SIP,所以相当于扯掉了这层锁。但对于Apple来讲,SIP的出现显然是使macOS适应时代,降低用户维护本机安全的成本,这是个必然的结果,也符合Apple一贯的作风。根据简要说明里的建议值那段:
-> Clover(需要修改原版kext但未使用kextpatch)/Chameleon用户,建议仅解锁kext加载和文件系统限制:
csr-active-config=0x13或0x3 (csrutil enable --without kext --without fs [--no-internal]) - 此配置对于大部分非白果用户适用
-> Clover(已正确配置kextpatch对原版kext进行修改)/Ozmosis用户,建议仅解锁kext加载限制以加载第三方未签名kext:
csr-active-config=0x11或0x1 (csrutil enable --without kext [--no-internal])
-> Clover(愿意依赖Kext注入功能+已正确配置kextpatch对原版kext进行修改)/白果用户,可完全开启SIP:
csr-active-config=0x10或0x0 (csrutil enable [--no-internal] 或 curutil clear)
注:部分kext无法通过Clover的kext注入来正常工作,例如AppleHDA Injector等。
-> 关闭SIP中的所有防护,不推荐:
csr-active-config=0x07ff
可以看出,0x67其实并不是一个十分完美的选择。但是需要开启HiDPI的朋友,必须先设置为0x67,完全关闭SIP才可以成功执行脚本。虽然我没有拜读脚本的内容,但猜测里面应该有涉及到系统文件的写入。另外,在注入HiDPI成功后,如果开启SIP不知道是不是会出现无法开机或者HiDPI失效,这些我都没有尝试。因为我目前还是完全关闭SIP的状态,感兴趣的朋友可以试试。最后,值得一提的是,我的配置和Clover设置的条件下,0x13并不能顺利开机,也就是不适用;但是设置成0x3是可以正常运行的,上一个帖子里面提供的config.plist均设置为0x3的值。大家可以根据自己的现状进行尝试,或者选择看看简要说明那篇帖子,结合自己的实际需求,算出适合自己的掩码,填入CsrActiveConfig。
|
|