Better AVD support

This commit is contained in:
topjohnwu
2023-04-04 02:04:49 -07:00
parent 762b70ba9d
commit 24ba4ab95b
2 changed files with 30 additions and 11 deletions

View File

@ -67,15 +67,9 @@ if [ -d /dev/avd-magisk ]; then
rm -rf /dev/avd-magisk 2>/dev/null
fi
# SELinux stuffs
if [ -d /sys/fs/selinux ]; then
if [ -f /vendor/etc/selinux/precompiled_sepolicy ]; then
./magiskpolicy --load /vendor/etc/selinux/precompiled_sepolicy --live --magisk 2>&1
elif [ -f /sepolicy ]; then
./magiskpolicy --load /sepolicy --live --magisk 2>&1
else
./magiskpolicy --live --magisk 2>&1
fi
# Mount /cache if not already mounted
if ! grep -q ' /cache ' /proc/mounts; then
mount -t tmpfs -o 'mode=0755' tmpfs /cache
fi
MAGISKTMP=/sbin
@ -148,9 +142,27 @@ mkdir $MAGISKTMP/.magisk/block
mkdir $MAGISKTMP/.magisk/worker
touch $MAGISKTMP/.magisk/config
# Boot up
export MAGISKTMP
$MAGISKTMP/magisk --preinit-device
MAKEDEV=1 $MAGISKTMP/magisk --preinit-device 2>&1
RULESCMD=""
for r in $MAGISKTMP/.magisk/preinit/*/sepolicy.rule; do
[ -f "$r" ] || continue
RULESCMD="$RULESCMD --apply $r"
done
# SELinux stuffs
if [ -d /sys/fs/selinux ]; then
if [ -f /vendor/etc/selinux/precompiled_sepolicy ]; then
./magiskpolicy --load /vendor/etc/selinux/precompiled_sepolicy --live --magisk $RULESCMD 2>&1
elif [ -f /sepolicy ]; then
./magiskpolicy --load /sepolicy --live --magisk $RULESCMD 2>&1
else
./magiskpolicy --live --magisk $RULESCMD 2>&1
fi
fi
# Boot up
$MAGISKTMP/magisk --post-fs-data
start
$MAGISKTMP/magisk --service