Refine Magisk init

This commit is contained in:
Howard Wu 2023-05-16 06:48:30 +08:00
parent bb5298adbb
commit 07f580587d

View file

@ -742,25 +742,22 @@ if [ "$ROOT_SOL" = 'magisk' ]; then
echo "Integrate Magisk" echo "Integrate Magisk"
sudo cp "$WORK_DIR/magisk/magisk/"* "$ROOT_MNT/debug_ramdisk/" sudo cp "$WORK_DIR/magisk/magisk/"* "$ROOT_MNT/debug_ramdisk/"
sudo cp "$MAGISK_PATH" "$ROOT_MNT/debug_ramdisk/stub.apk" || abort sudo cp "$MAGISK_PATH" "$ROOT_MNT/debug_ramdisk/stub.apk" || abort
sudo tee -a "$ROOT_MNT/debug_ramdisk/preparebin.sh" <<EOF >/dev/null || abort sudo tee -a "$ROOT_MNT/debug_ramdisk/loadpolicy.sh" <<EOF >/dev/null || abort
#!/system/bin/sh
mkdir -p /data/adb/magisk
cp /debug_ramdisk/* /data/adb/magisk/
sync
chmod -R 755 /data/adb/magisk
restorecon -R /data/adb/magisk
EOF
sudo tee -a "$ROOT_MNT/debug_ramdisk/mkpreinit.sh" <<EOF >/dev/null || abort
#!/system/bin/sh #!/system/bin/sh
MAGISKTMP=/debug_ramdisk MAGISKTMP=/debug_ramdisk
export MAGISKTMP export MAGISKTMP
mkdir -p /data/adb/magisk
cp \$MAGISKTMP/* /data/adb/magisk/
sync
chmod -R 755 /data/adb/magisk
restorecon -R /data/adb/magisk
MAKEDEV=1 \$MAGISKTMP/magisk --preinit-device 2>&1 MAKEDEV=1 \$MAGISKTMP/magisk --preinit-device 2>&1
RULESCMD="" RULESCMD=""
for r in \$MAGISKTMP/.magisk/preinit/*/sepolicy.rule; do for r in \$MAGISKTMP/.magisk/preinit/*/sepolicy.rule; do
[ -f "\$r" ] || continue [ -f "\$r" ] || continue
RULESCMD="\$RULESCMD --apply \$r" RULESCMD="\$RULESCMD --apply \$r"
done done
/debug_ramdisk/magiskpolicy --live \$RULESCMD 2>&1 \$MAGISKTMP/magiskpolicy --live \$RULESCMD 2>&1
EOF EOF
sudo find "$ROOT_MNT/debug_ramdisk" -type f -exec chmod 0711 {} \; sudo find "$ROOT_MNT/debug_ramdisk" -type f -exec chmod 0711 {} \;
sudo find "$ROOT_MNT/debug_ramdisk" -type f -exec chown root:root {} \; sudo find "$ROOT_MNT/debug_ramdisk" -type f -exec chown root:root {} \;
@ -771,44 +768,34 @@ EOF
COPY_BIN_SVC_NAME=$(Gen_Rand_Str 12) COPY_BIN_SVC_NAME=$(Gen_Rand_Str 12)
sudo tee -a "$SYSTEM_MNT/etc/init/hw/init.rc" <<EOF >/dev/null sudo tee -a "$SYSTEM_MNT/etc/init/hw/init.rc" <<EOF >/dev/null
on post-fs-data on post-fs-data
mkdir /dev/tmp mkdir /dev/debug_ramdisk_mirror
mount none / /dev/tmp bind mount none /debug_ramdisk /dev/debug_ramdisk_mirror bind
mount none none /dev/tmp private mount none none /dev/debug_ramdisk_mirror private
mount tmpfs magisk /debug_ramdisk mode=0755 mount tmpfs magisk /debug_ramdisk mode=0755
copy /dev/tmp/debug_ramdisk/magisk64 /debug_ramdisk/magisk64 copy /dev/debug_ramdisk_mirror/magisk64 /debug_ramdisk/magisk64
chmod 0711 /debug_ramdisk/magisk64 chmod 0711 /debug_ramdisk/magisk64
symlink ./magisk64 /debug_ramdisk/magisk symlink ./magisk64 /debug_ramdisk/magisk
symlink ./magisk64 /debug_ramdisk/su symlink ./magisk64 /debug_ramdisk/su
symlink ./magisk64 /debug_ramdisk/resetprop symlink ./magisk64 /debug_ramdisk/resetprop
copy /dev/tmp/debug_ramdisk/magisk32 /debug_ramdisk/magisk32 start adbd
copy /dev/debug_ramdisk_mirror/magisk32 /debug_ramdisk/magisk32
chmod 0711 /debug_ramdisk/magisk32 chmod 0711 /debug_ramdisk/magisk32
copy /dev/tmp/debug_ramdisk/magiskinit /debug_ramdisk/magiskinit copy /dev/debug_ramdisk_mirror/magiskinit /debug_ramdisk/magiskinit
chmod 0711 /debug_ramdisk/magiskinit chmod 0711 /debug_ramdisk/magiskinit
copy /dev/tmp/debug_ramdisk/magiskpolicy /debug_ramdisk/magiskpolicy copy /dev/debug_ramdisk_mirror/magiskpolicy /debug_ramdisk/magiskpolicy
chmod 0711 /debug_ramdisk/magiskpolicy chmod 0711 /debug_ramdisk/magiskpolicy
mkdir /debug_ramdisk/.magisk 755 mkdir /debug_ramdisk/.magisk
mkdir /debug_ramdisk/.magisk/mirror 0 mkdir /debug_ramdisk/.magisk/mirror 0
mkdir /debug_ramdisk/.magisk/block 0 mkdir /debug_ramdisk/.magisk/block 0
mkdir /debug_ramdisk/.magisk/worker 0 mkdir /debug_ramdisk/.magisk/worker 0
copy /dev/tmp/debug_ramdisk/stub.apk /debug_ramdisk/stub.apk copy /dev/debug_ramdisk_mirror/stub.apk /debug_ramdisk/stub.apk
chmod 0644 /debug_ramdisk/stub.apk chmod 0644 /debug_ramdisk/stub.apk
copy /dev/tmp/debug_ramdisk/preparebin.sh /debug_ramdisk/preparebin.sh copy /dev/debug_ramdisk_mirror/loadpolicy.sh /debug_ramdisk/loadpolicy.sh
chmod 0711 /debug_ramdisk/preparebin.sh chmod 0711 /debug_ramdisk/loadpolicy.sh
copy /dev/tmp/debug_ramdisk/mkpreinit.sh /debug_ramdisk/mkpreinit.sh umount /dev/debug_ramdisk_mirror
chmod 0711 /debug_ramdisk/mkpreinit.sh rmdir /dev/debug_ramdisk_mirror
umount /dev/tmp exec u:r:magisk:s0 0 0 -- /system/bin/sh /debug_ramdisk/loadpolicy.sh
rmdir /dev/tmp
rm /dev/.magisk_unblock
exec u:r:magisk:s0 0 0 -- /system/bin/sh /debug_ramdisk/mkpreinit.sh
exec_start $COPY_BIN_SVC_NAME
exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --post-fs-data exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --post-fs-data
wait /dev/.magisk_unblock 40
rm /dev/.magisk_unblock
service $COPY_BIN_SVC_NAME /system/bin/sh /debug_ramdisk/preparebin.sh
user root
seclabel u:r:magisk:s0
oneshot
on property:vold.decrypt=trigger_restart_framework on property:vold.decrypt=trigger_restart_framework
exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --service exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --service
@ -817,8 +804,6 @@ on nonencrypted
exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --service exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --service
on property:sys.boot_completed=1 on property:sys.boot_completed=1
mkdir /data/adb/magisk 755
copy /debug_ramdisk/stub.apk /data/adb/magisk/magisk.apk
exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --boot-complete exec u:r:magisk:s0 0 0 -- /debug_ramdisk/magisk --boot-complete
on property:init.svc.zygote=restarting on property:init.svc.zygote=restarting