更新:2022-2-11 21:20:11
magisk 的确支持 开机自动加载指定脚本,路径就是 /data/adb/service.d/ ,在下面创建 xxxx.sh,并且赋予脚本 0755 权限,重启后实时生效,测试环境: Magisk v24.1 金丝雀版 (1a1b346c 24102) Zygisk,小米 K40 。

一个开机时自动关闭 Zram 和 swap 的脚本示例:
在 /data/adb/service.d/ 路径下创建任意名字的以 .sh 后缀结尾的文件,如 ram.sh

#!/system/bin/sh
swapoff /dev/block/zram0
sysctl -w vm.swappiness=0


华为EMUI 8.2.、9.0、9.1测试通过

关闭zram
swapoff /dev/block/zram0

关闭swap
sysctl -w vm.swappiness=0

如果需要开机生效,需要支持init.d,由于华为砍掉了init.d支持,需要magisk安装一个模块实现完整的init.d支持,模块名:Init.d Injector

另外,magisk模块 zRAM/SWAP Manager 测试无法关闭 zram,发现即使设置 disable zram,仍然挂载到 /dev/block/zram0 ,我手机运存6G,系统预设直接不要脸的划分了 2.2G作为 zram 缓冲,然而 CPU 本身也拉垮,实际负载 5.5G 运存,zram 使用量才 300MB,没什么用。

系统通过magisk模块支持init.d 后,可以写个脚本开机 自动关闭swap和zram

#!/system/bin/sh
sysctl -w vm.swappiness=0
swapoff /dev/block/zram0

我印象里,magisk 本身不用模块就可以实现开机自启执行特定命令的功能,我当时还实践过,大概路径好像在/data/adb/service.d/,时过境已迁,建议谷歌一下 magisk 启动脚本路径

最后修改:2022 年 02 月 11 日
如果觉得我的文章对你有用,请随意赞赏