redroid-script icon indicating copy to clipboard operation
redroid-script copied to clipboard

经过一些修改后成功在 redroid:11.0.0-latest 上运行magisk+zygisk, 留供他人参考

Open SakuraKoi opened this issue 1 year ago • 17 comments

懒得把bootanim.rc里的修改和新复制的文件重新整理回magisk.py了, 也不怎么会python, 就不提pr了

把修改的东西都列出来供他人参考 Platform: Fedora 39 x86_64

WARN: 一番折腾到成功后, 对着结果写的事后总结, 可能其中有一些是无效操作

1. 从解压的magisk.apk中补充一些文件

> tree redroid-script.orig/magisk

redroid-script.orig/magisk
├── sbin
└── system
    └── etc
        └── init
            ├── bootanim.rc
            ├── bootanim.rc.gz
            └── magisk
                ├── busybox
                ├── magisk64
                ├── magisk.apk
                ├── magiskboot
                ├── magiskinit
                └── magiskpolicy

补充后

> tree redroid-script/magisk

redroid-script/magisk
├── sbin
└── system
    └── etc
        └── init
            ├── bootanim.rc
            ├── bootanim.rc.gz
            └── magisk
                ├── boot_patch.sh
                ├── busybox
                ├── magisk64
                ├── magisk.apk
                ├── magiskboot
                ├── magiskinit
                ├── magiskpolicy
                ├── stub.apk
                └── util_functions.sh

权限

-rw-r--r--. 1 root root 7.0K Jan  9 14:28 boot_patch.sh
-rwxr-xr-x. 1 root root 2.2M Jan  9 14:16 busybox
-rwxr-xr-x. 1 root root 458K Jan  9 14:16 magisk64
-rw-r--r--. 1 root root  13M Jan  9 14:16 magisk.apk
-rwxr-xr-x. 1 root root 1.3M Jan  9 14:16 magiskboot
-rwxr-xr-x. 1 root root 705K Jan  9 14:16 magiskinit
-rwxr-xr-x. 1 root root 362K Jan  9 14:16 magiskpolicy
-rw-r--r--. 1 root root  33K Jan  9 14:29 stub.apk
-rw-r--r--. 1 root root  21K Jan  9 14:28 util_functions.sh

2. 修改 magisk.py

--- redroid-script.orig/stuffs/magisk.py 2023-04-11 15:14:42.000000000 +0800
+++ redroid-script/stuffs/magisk.py      2024-01-09 14:12:53.098522064 +0800
@@ -32,7 +32,7 @@
     mkdir /sbin/.magisk 700
     mkdir /sbin/.magisk/mirror 700
     mkdir /sbin/.magisk/block 700
-    copy /system/etc/init/magisk/config /sbin/.magisk/config
+    touch /sbin/.magisk/config
     rm /dev/.magisk_unblock
     exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --post-fs-data
     wait /dev/.magisk_unblock 40
@@ -86,7 +86,9 @@
         gz_filename = os.path.join(bootanim_path)+".gz"
         with gzip.open(gz_filename,'wb') as f_gz:
             f_gz.write(self.oringinal_bootanim.encode('utf-8'))
+        run(["chmod", "644", gz_filename])
         with open(bootanim_path, "w") as initfile:
             initfile.write(self.oringinal_bootanim+self.bootanim_component)
+        run(["chmod", "644", bootanim_path])

         os.chmod(bootanim_path, 0o644)

3. 修改 bootanim.rc

--- redroid-script.orig/magisk/system/etc/init/bootanim.rc       2024-01-09 15:09:01.327379169 +0800
+++ redroid-script/magisk/system/etc/init/bootanim.rc    2024-01-09 14:58:50.556405081 +0800
@@ -11,12 +11,17 @@

 on post-fs-data
     start logd
+    copy /system/etc/init/magisk/stub.apk /sbin/stub.apk
+    chmod 755 /sbin/stub.apk
+    mkdir /data/adb/magisk 755
+    exec -- /system/bin/sh -c "cp /system/etc/init/magisk/* /data/adb/magisk/"
     exec u:r:su:s0 root root -- /system/etc/init/magisk/magisk64 --auto-selinux --setup-sbin /system/etc/init/magisk
     exec u:r:su:s0 root root -- /system/etc/init/magisk/magiskpolicy --live --magisk "allow * magisk_file lnk_file *"
     mkdir /sbin/.magisk 700
     mkdir /sbin/.magisk/mirror 700
     mkdir /sbin/.magisk/block 700
-    copy /system/etc/init/magisk/config /sbin/.magisk/config
+    touch /sbin/.magisk/config
     rm /dev/.magisk_unblock
     exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --post-fs-data
     wait /dev/.magisk_unblock 40
@@ -26,7 +31,6 @@
     exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --service

 on property:sys.boot_completed=1
-    mkdir /data/adb/magisk 755
     exec u:r:su:s0 root root -- /sbin/magisk --auto-selinux --boot-complete
     exec -- /system/bin/sh -c "if [ ! -e /data/data/io.github.huskydg.magisk ] ; then pm install /system/etc/init/magisk/magisk.apk ; fi"

image

Edit: 删除magisk32, 研究了半天LSPosed起不来的问题, 最后发现是这的锅

SakuraKoi avatar Jan 09 '24 07:01 SakuraKoi