mirror of
https://github.com/topjohnwu/Magisk.git
synced 2024-11-27 12:05:30 +00:00
Install phh su if no SuperSU detected
This commit is contained in:
parent
cdb8ee3946
commit
2b1270381d
@ -339,6 +339,7 @@ unpack_boot $ORIGBOOT
|
|||||||
SUPERSU=false
|
SUPERSU=false
|
||||||
if (! $NORESTORE); then
|
if (! $NORESTORE); then
|
||||||
if [ -d ".backup" ]; then
|
if [ -d ".backup" ]; then
|
||||||
|
# This implies Magisk is already installed, but no SuperSU
|
||||||
ui_print "- Restoring ramdisk with ramdisk backup"
|
ui_print "- Restoring ramdisk with ramdisk backup"
|
||||||
cp -af .backup/. .
|
cp -af .backup/. .
|
||||||
rm -rf magisk init.magisk.rc sbin/magic_mask.sh 2>/dev/null
|
rm -rf magisk init.magisk.rc sbin/magic_mask.sh 2>/dev/null
|
||||||
@ -350,8 +351,8 @@ if (! $NORESTORE); then
|
|||||||
cp -af $INSTALLER/common/custom_ramdisk_patch.sh /data/custom_ramdisk_patch.sh
|
cp -af $INSTALLER/common/custom_ramdisk_patch.sh /data/custom_ramdisk_patch.sh
|
||||||
fi
|
fi
|
||||||
if [ -d "magisk" ]; then
|
if [ -d "magisk" ]; then
|
||||||
# If Magisk is installed and not SuperSU and no ramdisk backups
|
# If Magisk is installed and not SuperSU and no ramdisk backups,
|
||||||
# Restore previous stock boot image
|
# we restore previous stock boot image backups
|
||||||
if (! $SUPERSU); then
|
if (! $SUPERSU); then
|
||||||
cp -af /data/stock_boot_*.gz /data/stock_boot.img.gz 2>/dev/null
|
cp -af /data/stock_boot_*.gz /data/stock_boot.img.gz 2>/dev/null
|
||||||
gzip -d /data/stock_boot.img.gz 2>/dev/null
|
gzip -d /data/stock_boot.img.gz 2>/dev/null
|
||||||
@ -368,8 +369,8 @@ if (! $NORESTORE); then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# SuperSU already backup stock boot, no need to do again
|
|
||||||
if (! $SUPERSU); then
|
if (! $SUPERSU); then
|
||||||
|
# SuperSU already backup stock boot, no need to do again
|
||||||
ui_print "- Creating backups"
|
ui_print "- Creating backups"
|
||||||
mkdir .backup 2>/dev/null
|
mkdir .backup 2>/dev/null
|
||||||
cp -af *fstab* verity_key sepolicy .backup 2>/dev/null
|
cp -af *fstab* verity_key sepolicy .backup 2>/dev/null
|
||||||
@ -378,6 +379,16 @@ if (! $SUPERSU); then
|
|||||||
else
|
else
|
||||||
dd if=$ORIGBOOT of=/cache/stock_boot.img
|
dd if=$ORIGBOOT of=/cache/stock_boot.img
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# SuperSU already have root, no need to install root
|
||||||
|
if [ ! -d /magisk/phh ]; then
|
||||||
|
ui_print "- Installing phh's SuperUser"
|
||||||
|
mkdir -p /magisk/phh/bin
|
||||||
|
mkdir -p /magisk/phh/su.d
|
||||||
|
cp -af $INSTALLER/common/phh/. /magisk/phh
|
||||||
|
cp -af $BINDIR/su $BINDIR/sepolicy-inject /magisk/phh/bin
|
||||||
|
chmod -R 755 /magisk/phh
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Patch ramdisk
|
# Patch ramdisk
|
||||||
|
8
zip_static/common/phh/module.prop
Normal file
8
zip_static/common/phh/module.prop
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
id=phh
|
||||||
|
name=phh's SuperUser
|
||||||
|
version=r266-2
|
||||||
|
versionCode=4
|
||||||
|
author=phhusson & topjohnwu
|
||||||
|
description=OpenSource SELinux-capable SuperUser
|
||||||
|
support=http://forum.xda-developers.com/showthread.php?t=3216394
|
||||||
|
donate=http://forum.xda-developers.com/donatetome.php?u=1915408
|
50
zip_static/common/phh/service.sh
Normal file
50
zip_static/common/phh/service.sh
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
#!/system/bin/sh
|
||||||
|
|
||||||
|
LOGFILE=/cache/magisk.log
|
||||||
|
MODDIR=${0%/*}
|
||||||
|
|
||||||
|
log_print() {
|
||||||
|
echo $1
|
||||||
|
echo "phh: $1" >> $LOGFILE
|
||||||
|
log -p i -t phh "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
launch_daemonsu() {
|
||||||
|
# Revert to original path, legacy issue
|
||||||
|
case $PATH in
|
||||||
|
*busybox* )
|
||||||
|
export PATH=$OLDPATH
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
# Switch contexts
|
||||||
|
echo "u:r:su_daemon:s0" > /proc/self/attr/current
|
||||||
|
# Start daemon
|
||||||
|
exec /sbin/su --daemon
|
||||||
|
}
|
||||||
|
|
||||||
|
# Disable the other root
|
||||||
|
[ -d "/magisk/zzsupersu" ] && touch /magisk/zzsupersu/disable
|
||||||
|
|
||||||
|
log_print "Live patching sepolicy"
|
||||||
|
$MODDIR/bin/sepolicy-inject --live
|
||||||
|
|
||||||
|
# Expose the root path
|
||||||
|
log_print "Mounting supath"
|
||||||
|
rm -rf /magisk/.core/bin $MODDIR/sbin_bind
|
||||||
|
mkdir -p $MODDIR/sbin_bind
|
||||||
|
/data/busybox/cp -afc /sbin/. $MODDIR/sbin_bind
|
||||||
|
chmod 755 $MODDIR/sbin_bind
|
||||||
|
ln -s $MODDIR/bin/* $MODDIR/sbin_bind
|
||||||
|
mount -o bind $MODDIR/sbin_bind /sbin
|
||||||
|
|
||||||
|
# Run su.d
|
||||||
|
for script in $MODDIR/su.d/* ; do
|
||||||
|
if [ -f "$script" ]; then
|
||||||
|
chmod 755 $script
|
||||||
|
log_print "su.d: $script"
|
||||||
|
sh $script
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
log_print "Starting su daemon"
|
||||||
|
(launch_daemonsu &)
|
Loading…
Reference in New Issue
Block a user