viviwxh 发表于 2021-6-25 06:42

新手黑苹果执行/usr/bin办法之探讨

本帖最后由 viviwxh 于 2021-6-25 06:54 编辑

安装的系统为11.2.1OC恢复法,直接恢复至一个磁盘。然后把合适的OC弄进EFI里,安装倒是没有大的问题。进系统后,声音太小(用了万能驱动),本着折腾的原则,想试试APPalc替换万能。问题来了,这需要用DSDT打补丁。想把iasl放入/usr/bin,发现没有权限,试了如下办法:
1.恢复模式 用csrutil disable,重启后 检查csrutil status ,提示是disable,仍然没办法写入/bin
2.用/usr/local/mysql/bin,想用转链把iasl弄进去也不行
3.win下尝试反编译软件,未果。
4.快要放弃的时候,翻翻黑苹果系统,发现还有一个VM下的虚拟机系统可以搞。找了一个10.12.6小于10.13的版本,应该不会锁SIP。目标有了,VM下还算顺利。通过--访达--也见到了/usr/bin,以为看到黎明的时候,发现还是锁了SIP。没关系,继续vm下进服恢复模式,使用“打开电源时进入固件”,久违的终端来了。
5.终于可以把iasl弄进去了。
走了很多弯路,也爬了不少楼层。对新手来说,没人指点,鼓捣起来十分费时间,算是一点心得吧。
6.有一个问题,编译中出现两次xOR (LLVL, One) 错误行,实在是搞不定了,也找不到攻略了,走过路过不妨看看。
{
            Name (_T_0, Zero)// _T_x: Emitted by ASL Compiler
            Sleep (0xFA)
            Store (One, LIDF)
            Notify (\_SB.FEXT, 0x80)
            If (LNot (SKPF))
            {
                Store (LLVL, LLV2)
                \_SB.PCI0.GFX0.GLID
                XOr (LLVL, One)
                Store (LLVL, LCDS)
                Notify (\_SB.LID, 0x80)
                Sleep (0x07D0)
                While (LNotEqual (LLVL, LLV2))
                {
                  Store (LLVL, LLV2)
                  \_SB.PCI0.GFX0.GLID
                  xOR (LLVL, One)
                  Store (LLVL, LCDS)
                  Notify (\_SB.LID, 0x80)
                  Sleep (0x07D0)
                }
            }


viviwxh 发表于 2021-6-27 00:52

找了一个完美的efi参照同样字段,原来需要在xor段加前后()来解决,并上移到上一段代码之后

viviwxh 发表于 2021-6-27 00:53

有同样机型和问题的可以参照修改,或是直接找完美efi的dsdt文件。

viviwxh 发表于 2021-6-27 00:55

页: [1]
查看完整版本: 新手黑苹果执行/usr/bin办法之探讨