KernelSU 如何不通过模块,直接修改系统分区
前提,KernelSU 已经装过至少一个模块,让 KernelSU 生成过稀疏文件的镜像 modules.img
。
操作
-
可以使用 adb shell 或者 MT 管理器之类的文件管理器,进入
/data/adb/modules
目录。 -
在这个目录下,新建一个
.rw
文件夹。 -
在
.rw
文件夹下,新建一个system
文件夹。 -
在
system
文件夹下,新建upperdir
和workdir
文件夹。 -
重启手机,完成操作,现在对
system
分区的修改都是通过 overlayfs 进行修改的。
最后的目录结构如下:
# modules cd .rw
# .rw pwd
/data/adb/modules/.rw
# .rw busybox tree .
.
└── system
├── upperdir
└── workdir
挂载其他分区
同理,你可以在 .rw
下新建其他目录,然后在这个目录下新建 upperdir
和 workdir
文件夹,然后重启手机,就可以对这个目录进行 overlayfs 操作了。
比如 vendor
分区
# modules cd .rw
# .rw pwd
/data/adb/modules/.rw
# .rw busybox tree .
.
└── vendor
├── upperdir
└── workdir
使用 overlayfs 的注意事项以及优点
-
所有对
system
分区的修改都不是直接修改,而是通过 overlayfs 进行修改的,所以不会影响到原始的system
分区。 如果出问题了 KernelSU 会重启来到安全模式,然后你之前对system
分区的修改就不会生效。 -
如果需要撤回对之前的修改可以直接删除
.rw
文件夹,然后重启手机即可。 -
可以在相对应的
upperdir
文件夹下,查看到对应的修改。