Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
0ddb6c3f
Commit
0ddb6c3f
authored
Nov 13, 2016
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Various small changes
parent
e1328172
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
74 deletions
+53
-74
sepolicy-inject
jni/sepolicy-inject
+1
-1
flash_script.sh
scripts/flash_script.sh
+47
-62
magic_mask.sh
scripts/magic_mask.sh
+5
-2
init.magisk.rc
zip_static/common/init.magisk.rc
+0
-9
No files found.
sepolicy-inject
@
f760a9d0
Subproject commit
be1dcb7264e8a20b101a93d01bd671a7f56d07c3
Subproject commit
f760a9d0c2fb86786d880c72b83d82d16cb35301
scripts/flash_script.sh
View file @
0ddb6c3f
...
@@ -19,6 +19,9 @@ INSTALLER=$TMPDIR/magisk
...
@@ -19,6 +19,9 @@ INSTALLER=$TMPDIR/magisk
COREDIR
=
/magisk/.core
COREDIR
=
/magisk/.core
# Default permissions
umask
022
##########################################################################################
##########################################################################################
# Flashable update-binary preparation
# Flashable update-binary preparation
##########################################################################################
##########################################################################################
...
@@ -76,14 +79,14 @@ getvar() {
...
@@ -76,14 +79,14 @@ getvar() {
find_boot_image
()
{
find_boot_image
()
{
if
[
-z
"
$BOOTIMAGE
"
]
;
then
if
[
-z
"
$BOOTIMAGE
"
]
;
then
for
PARTITION
in
kern-a KERN-A android_boot ANDROID_BOOT kernel KERNEL boot BOOT lnx LNX
;
do
for
PARTITION
in
kern-a KERN-A android_boot ANDROID_BOOT kernel KERNEL boot BOOT lnx LNX
;
do
BOOTIMAGE
=
$(
readlink
/dev/block/by-name/
$PARTITION
||
readlink
/dev/block/platform/
*
/by-name/
$PARTITION
||
readlink
/dev/block/platform/
*
/
*
/by-name/
$PARTITION
)
BOOTIMAGE
=
`
readlink
/dev/block/by-name/
$PARTITION
||
readlink
/dev/block/platform/
*
/by-name/
$PARTITION
||
readlink
/dev/block/platform/
*
/
*
/by-name/
$PARTITION
`
if
[
!
-z
"
$BOOTIMAGE
"
]
;
then
break
;
fi
if
[
!
-z
"
$BOOTIMAGE
"
]
;
then
break
;
fi
done
done
fi
fi
if
[
-z
"
$BOOTIMAGE
"
]
;
then
if
[
-z
"
$BOOTIMAGE
"
]
;
then
FSTAB
=
"/etc/recovery.fstab"
FSTAB
=
"/etc/recovery.fstab"
[
!
-f
"
$FSTAB
"
]
&&
FSTAB
=
"/etc/recovery.fstab.bak"
[
!
-f
"
$FSTAB
"
]
&&
FSTAB
=
"/etc/recovery.fstab.bak"
BOOTIMAGE
=
$(
grep
-E
'\b/boot\b'
"
$FSTAB
"
|
grep
-oE
'/dev/[a-zA-Z0-9_./-]*'
)
[
-f
"
$FSTAB
"
]
BOOTIMAGE
=
`
grep
-E
'\b/boot\b'
"
$FSTAB
"
|
grep
-oE
'/dev/[a-zA-Z0-9_./-]*'
`
fi
fi
}
}
...
@@ -147,11 +150,6 @@ unpack_boot() {
...
@@ -147,11 +150,6 @@ unpack_boot() {
cd
$UNPACKDIR
cd
$UNPACKDIR
$BINDIR
/bootimgtools
--extract
$1
$BINDIR
/bootimgtools
--extract
$1
find
$TMPDIR
/boottmp
-type
d
-exec
chmod
755
{}
\;
find
$TMPDIR
/boottmp
-type
f
-exec
chmod
644
{}
\;
chmod
755
$(
find
$TMPDIR
/boottmp
-type
d
)
chmod
644
$(
find
$TMPDIR
/boottmp
-type
f
)
cd
$RAMDISK
cd
$RAMDISK
gunzip
-c
<
$UNPACKDIR
/ramdisk.gz | cpio
-i
gunzip
-c
<
$UNPACKDIR
/ramdisk.gz | cpio
-i
}
}
...
@@ -220,7 +218,7 @@ if [ -z "$KEEPFORCEENCRYPT" ]; then
...
@@ -220,7 +218,7 @@ if [ -z "$KEEPFORCEENCRYPT" ]; then
KEEPFORCEENCRYPT
=
false
KEEPFORCEENCRYPT
=
false
fi
fi
if
[
-z
"
$NORESTORE
"
]
;
then
if
[
-z
"
$NORESTORE
"
]
;
then
# we
don't keep
ramdisk by default
# we
restore
ramdisk by default
NORESTORE
=
false
NORESTORE
=
false
fi
fi
...
@@ -258,6 +256,33 @@ if [ -z "$BOOTIMAGE" ]; then
...
@@ -258,6 +256,33 @@ if [ -z "$BOOTIMAGE" ]; then
exit
1
exit
1
fi
fi
##########################################################################################
# Environment
##########################################################################################
ui_print
"- Constructing environment"
if
(
is_mounted /data
)
;
then
rm
-rf
/data/busybox /data/magisk 2>/dev/null
mkdir
-p
/data/busybox
cp
-af
$BINDIR
/data/magisk
cp
-af
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /data/magisk
chmod
-R
755 /data/magisk
chcon
-R
"u:object_r:system_file:s0"
/data/magisk
/data/magisk/busybox
--install
-s
/data/busybox
ln
-s
/data/magisk/busybox /data/busybox/busybox
# Prevent issues
rm
-f
/data/busybox/su /data/busybox/sh
chcon
-R
"u:object_r:system_file:s0"
/data/magisk /data/busybox
chmod
-R
755 /data/magisk /data/busybox
PATH
=
/data/busybox:
$PATH
else
rm
-rf
/cache/data_bin 2>/dev/null
mkdir
-p
/cache/data_bin
cp
-af
$BINDIR
/cache/data_bin
cp
-af
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /cache/data_bin
fi
##########################################################################################
##########################################################################################
# Image
# Image
##########################################################################################
##########################################################################################
...
@@ -293,29 +318,6 @@ cp -af $INSTALLER/common/magiskhide/. /magisk/.core/magiskhide
...
@@ -293,29 +318,6 @@ cp -af $INSTALLER/common/magiskhide/. /magisk/.core/magiskhide
mkdir
-p
/magisk/zzsupersu
mkdir
-p
/magisk/zzsupersu
touch
/magisk/zzsupersu/remove
touch
/magisk/zzsupersu/remove
##########################################################################################
# Environment
##########################################################################################
ui_print
"- Constructing environment"
if
(
is_mounted /data
)
;
then
rm
-rf
/data/busybox /data/magisk 2>/dev/null
mkdir
-p
/data/busybox
cp
-af
$BINDIR
/data/magisk
cp
-af
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /data/magisk
chmod
755 /data/busybox /data/magisk /data/magisk/
*
/data/magisk/busybox
--install
-s
/data/busybox
ln
-s
/data/magisk/busybox /data/busybox/busybox
# Prevent issues
rm
-f
/data/busybox/su /data/busybox/sh
else
rm
-rf
/cache/data_bin 2>/dev/null
mkdir
-p
/cache/data_bin
cp
-af
$BINDIR
/cache/data_bin
cp
-af
$INSTALLER
/common/init.magisk.rc
$INSTALLER
/common/magic_mask.sh /cache/data_bin
fi
##########################################################################################
##########################################################################################
# Boot image patch
# Boot image patch
##########################################################################################
##########################################################################################
...
@@ -326,15 +328,13 @@ rm -rf $TMPDIR/boottmp 2>/dev/null
...
@@ -326,15 +328,13 @@ rm -rf $TMPDIR/boottmp 2>/dev/null
mkdir
-p
$TMPDIR
/boottmp
mkdir
-p
$TMPDIR
/boottmp
CHROMEDIR
=
$INSTALLER
/chromeos
CHROMEDIR
=
$INSTALLER
/chromeos
ORIGBOOT
=
$TMPDIR
/boottmp/boot.img
NEWBOOT
=
$TMPDIR
/boottmp/new-boot.img
NEWBOOT
=
$TMPDIR
/boottmp/new-boot.img
UNPACKDIR
=
$TMPDIR
/boottmp/bootunpack
UNPACKDIR
=
$TMPDIR
/boottmp/bootunpack
RAMDISK
=
$TMPDIR
/boottmp/ramdisk
RAMDISK
=
$TMPDIR
/boottmp/ramdisk
chmod
777
$CHROMEDIR
/futility
$BINDIR
/
*
chmod
777
$CHROMEDIR
/futility
$BINDIR
/
*
ui_print
"- Dumping boot image"
ORIGBOOT
=
$BOOTIMAGE
dd
if
=
$BOOTIMAGE
of
=
$ORIGBOOT
ui_print
"- Unpacking boot image"
ui_print
"- Unpacking boot image"
unpack_boot
$ORIGBOOT
unpack_boot
$ORIGBOOT
...
@@ -354,14 +354,14 @@ if (! $NORESTORE); then
...
@@ -354,14 +354,14 @@ 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 no SuperSU and no ramdisk backups
# If Magisk is installed and no
t
SuperSU and no ramdisk backups
# Restore previous stock boot image
# Restore previous stock boot image
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
if
[
-f
"/data/stock_boot.img"
]
;
then
if
[
-f
"/data/stock_boot.img"
]
;
then
ui_print
"- Restoring boot image with backup"
ui_print
"- Restoring boot image with backup"
cp
-af
/data/stock_boot.img
$ORIGBOOT
$ORIGBOOT
=
/data/stock_boot.img
unpack_boot
$ORIGBOOT
unpack_boot
$ORIGBOOT
fi
fi
fi
fi
...
@@ -378,9 +378,9 @@ if (! $SUPERSU); then
...
@@ -378,9 +378,9 @@ if (! $SUPERSU); then
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
if
(
is_mounted /data
)
;
then
if
(
is_mounted /data
)
;
then
cp
-af
$ORIGBOOT
/data/stock_boot.img
[
"
$ORIGBOOT
"
!=
"/data/stock_boot.img"
]
&&
dd
if
=
$ORIGBOOT
of
=
/data/stock_boot.img
else
else
cp
-af
$ORIGBOOT
/cache/stock_boot.img
dd
if
=
$ORIGBOOT
of
=
/cache/stock_boot.img
fi
fi
fi
fi
...
@@ -389,25 +389,13 @@ ui_print "- Patching ramdisk"
...
@@ -389,25 +389,13 @@ ui_print "- Patching ramdisk"
# Add magisk entrypoint
# Add magisk entrypoint
for
INIT
in
init
*
.rc
;
do
for
INIT
in
init
*
.rc
;
do
if
[
$(
grep
-c
"import /init.environ.rc"
$INIT
)
-ne
"0"
]
&&
[
$(
grep
-c
"import /init.magisk.rc"
$INIT
)
-eq
"0"
]
;
then
if
[
$(
grep
-c
"import /init.environ.rc"
$INIT
)
-ne
"0"
]
&&
[
`
grep
-c
"import /init.magisk.rc"
$INIT
`
-eq
"0"
]
;
then
cp
$INIT
.backup
cp
$INIT
.backup
sed
-i
"/import
\/
init
\.
environ
\.
rc/iimport /init.magisk.rc"
$INIT
sed
-i
"/import
\/
init
\.
environ
\.
rc/iimport /init.magisk.rc"
$INIT
break
break
fi
fi
done
done
# # Add magisk specific
# if [ $(grep -c "export PATH" init.environ.rc) -eq "0" ]; then
# sed -i "/on init/a\ \ \ \ export PATH /magisk/.core/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin:/magisk/.core/busybox" init.environ.rc
# else
# if [ $(grep -c "/magisk/.core/busybox" init.environ.rc) -eq "0" ]; then
# sed -i "/export PATH/ s/\/system\/xbin/\/system\/xbin:\/magisk\/.core\/busybox/g" init.environ.rc
# fi
# if [ $(grep -c "/magisk/.core/bin" init.environ.rc) -eq "0" ] && (! $SUPERSU); then
# sed -i "/export PATH/ s/\/sbin/\/magisk\/.core\/bin:\/sbin/g" init.environ.rc
# fi
# fi
if
(!
$SUPERSU
)
;
then
if
(!
$SUPERSU
)
;
then
sed
-i
"/selinux.reload_policy/d"
init.rc
sed
-i
"/selinux.reload_policy/d"
init.rc
find
.
-type
f
-name
"*fstab*"
2>/dev/null |
while
read
FSTAB
;
do
find
.
-type
f
-name
"*fstab*"
2>/dev/null |
while
read
FSTAB
;
do
...
@@ -439,15 +427,15 @@ chmod 0750 init.magisk.rc sbin/magic_mask.sh
...
@@ -439,15 +427,15 @@ chmod 0750 init.magisk.rc sbin/magic_mask.sh
ui_print
"- Repacking boot image"
ui_print
"- Repacking boot image"
repack_boot
repack_boot
ORIGSIZE
=
$(
ls
-l
$ORIGBOOT
|
awk
'{print $5}'
)
BOOTSIZE
=
`
blockdev
--getsize64
$BOOTIMAGE
`
NEWSIZE
=
$(
ls
-l
$NEWBOOT
|
awk
'{print $5}'
)
NEWSIZE
=
`
ls
-l
$NEWBOOT
|
awk
'{print $5}'
`
if
[
"
$NEWSIZE
"
-gt
"
$
ORIG
SIZE
"
]
;
then
if
[
"
$NEWSIZE
"
-gt
"
$
BOOT
SIZE
"
]
;
then
ui_print
"! Boot partition space insufficient"
ui_print
"! Boot partition space insufficient"
ui_print
"!
Try to remove ramdisk backups
"
ui_print
"!
Remove ramdisk backups and try again
"
rm
-rf
$RAMDISK
/.backup
$NEWBOOT
2>/dev/null
rm
-rf
$RAMDISK
/.backup
$NEWBOOT
2>/dev/null
repack_boot
repack_boot
NEWSIZE
=
$(
ls
-l
$NEWBOOT
|
awk
'{print $5}'
)
NEWSIZE
=
`
ls
-l
$NEWBOOT
|
awk
'{print $5}'
`
if
[
"
$NEWSIZE
"
-gt
"
$
ORIG
SIZE
"
]
;
then
if
[
"
$NEWSIZE
"
-gt
"
$
BOOT
SIZE
"
]
;
then
ui_print
"! Boot partition size still too small..."
ui_print
"! Boot partition size still too small..."
ui_print
"! Unable to install Magisk"
ui_print
"! Unable to install Magisk"
exit
1
exit
1
...
@@ -456,12 +444,8 @@ fi
...
@@ -456,12 +444,8 @@ fi
chmod
644
$NEWBOOT
chmod
644
$NEWBOOT
if
[
-L
"
$BOOTIMAGE
"
]
;
then
ui_print
"- Block symlink detected!"
else
dd
if
=
/dev/zero
of
=
$BOOTIMAGE
bs
=
4096 2>/dev/null
fi
ui_print
"- Flashing new boot image"
ui_print
"- Flashing new boot image"
[
!
-L
"
$BOOTIMAGE
"
]
&&
dd
if
=
/dev/zero
of
=
$BOOTIMAGE
bs
=
4096 2>/dev/null
dd
if
=
$NEWBOOT
of
=
$BOOTIMAGE
bs
=
4096
dd
if
=
$NEWBOOT
of
=
$BOOTIMAGE
bs
=
4096
if
(!
$BOOTMODE
)
;
then
if
(!
$BOOTMODE
)
;
then
...
@@ -469,6 +453,7 @@ if (! $BOOTMODE); then
...
@@ -469,6 +453,7 @@ if (! $BOOTMODE); then
umount /magisk
umount /magisk
losetup
-d
$MAGISKLOOP
losetup
-d
$MAGISKLOOP
umount /system
umount /system
rmdir
/magisk
fi
fi
ui_print
"- Done"
ui_print
"- Done"
...
...
scripts/magic_mask.sh
View file @
0ddb6c3f
...
@@ -21,6 +21,9 @@ BINPATH=/data/magisk
...
@@ -21,6 +21,9 @@ BINPATH=/data/magisk
# Will remove in the next release
# Will remove in the next release
export
OLDPATH
=
$PATH
export
OLDPATH
=
$PATH
# Default permissions
umask
022
log_print
()
{
log_print
()
{
echo
"
$1
"
echo
"
$1
"
...
@@ -198,10 +201,9 @@ merge_image() {
...
@@ -198,10 +201,9 @@ merge_image() {
if
[
"
$MOD
"
!=
"lost+found"
]
;
then
if
[
"
$MOD
"
!=
"lost+found"
]
;
then
log_print
"Merging:
$MOD
"
log_print
"Merging:
$MOD
"
rm
-rf
/cache/data_img/
$MOD
rm
-rf
/cache/data_img/
$MOD
$TOOLPATH
/cp
-afc
$MOD
/cache/data_img/
fi
fi
done
done
$TOOLPATH
/cp
-afc
.
core/. /cache/data_img/.core 2>/dev/null
$TOOLPATH
/cp
-afc
.
/cache/data_img
log_print
"Merge complete"
log_print
"Merge complete"
cd
/
cd
/
fi
fi
...
@@ -289,6 +291,7 @@ case $1 in
...
@@ -289,6 +291,7 @@ case $1 in
mv
/cache/stock_boot.img /data 2>/dev/null
mv
/cache/stock_boot.img /data 2>/dev/null
chcon
-R
"u:object_r:system_file:s0"
$BINPATH
$TOOLPATH
chcon
-R
"u:object_r:system_file:s0"
$BINPATH
$TOOLPATH
chmod
-R
755
$BINPATH
$TOOLPATH
# Image merging
# Image merging
chmod
644
$IMG
/cache/magisk.img /data/magisk_merge.img 2>/dev/null
chmod
644
$IMG
/cache/magisk.img /data/magisk_merge.img 2>/dev/null
...
...
zip_static/common/init.magisk.rc
View file @
0ddb6c3f
...
@@ -10,9 +10,6 @@ on post-fs-data
...
@@ -10,9 +10,6 @@ on post-fs-data
wait /dev/.magisk.unblock 40
wait /dev/.magisk.unblock 40
rm /dev/.magisk.unblock
rm /dev/.magisk.unblock
on property:magisk.hide=1
restart magisk_hide
on property:magisk.restart_pfsd=1
on property:magisk.restart_pfsd=1
trigger post-fs-data
trigger post-fs-data
...
@@ -36,9 +33,3 @@ service magisk_service /sbin/magic_mask.sh service
...
@@ -36,9 +33,3 @@ service magisk_service /sbin/magic_mask.sh service
user root
user root
seclabel u:r:su:s0
seclabel u:r:su:s0
oneshot
oneshot
# launch magisk hide script
service magisk_hide /sbin/magic_mask.sh hide
user root
seclabel u:r:su:s0
oneshot
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment