mirror of
https://github.com/topjohnwu/Magisk.git
synced 2025-10-15 21:20:06 +00:00
Unify Magisk configuration
Introduce monogisk tool
This commit is contained in:
@@ -11,18 +11,15 @@
|
||||
# boot_patch.sh script A script to patch boot. Expect path to boot image as parameter.
|
||||
# (this file) The script will use binaries and files in its same directory
|
||||
# to complete the patching process
|
||||
# magisk binary The main binary for all Magisk operations.
|
||||
# It is also used to patch the sepolicy in the ramdisk.
|
||||
# monogisk binary The monolithic binary to replace /init
|
||||
# magiskboot binary A tool to unpack boot image, decompress ramdisk, extract ramdisk
|
||||
# , and patch the ramdisk for Magisk support
|
||||
# init.magisk.rc script A new line will be added to init.rc to import this script.
|
||||
# All magisk entrypoints are defined here
|
||||
# chromeos folder This folder should store all the utilities and keys to sign
|
||||
# (optional) a chromeos device, used in the tablet Pixel C
|
||||
#
|
||||
# If the script is not running as root, then the input boot image should be a stock image
|
||||
# or have a backup included in ramdisk internally, since we cannot access the stock boot
|
||||
# image placed under /data we've created when previously installing
|
||||
# image placed under /data we've created when previously installed
|
||||
#
|
||||
##########################################################################################
|
||||
##########################################################################################
|
||||
@@ -47,21 +44,6 @@ basename_wrap() {
|
||||
echo ${1##*/}
|
||||
}
|
||||
|
||||
# --cpio-add <incpio> <mode> <entry> <infile>
|
||||
cpio_add() {
|
||||
./magiskboot --cpio-add ramdisk.cpio $1 $2 $3
|
||||
}
|
||||
|
||||
# --cpio-extract <incpio> <entry> <outfile>
|
||||
cpio_extract() {
|
||||
./magiskboot --cpio-extract ramdisk.cpio $1 $2
|
||||
}
|
||||
|
||||
# --cpio-mkdir <incpio> <mode> <entry>
|
||||
cpio_mkdir() {
|
||||
./magiskboot --cpio-mkdir ramdisk.cpio $1 $2
|
||||
}
|
||||
|
||||
##########################################################################################
|
||||
# Initialization
|
||||
##########################################################################################
|
||||
@@ -85,6 +67,9 @@ BOOTIMAGE="$1"
|
||||
|
||||
chmod -R 755 .
|
||||
|
||||
# Extract magisk if doesn't exist
|
||||
[ -e magisk ] || ./monogisk -x magisk magisk
|
||||
|
||||
##########################################################################################
|
||||
# Unpack
|
||||
##########################################################################################
|
||||
@@ -172,33 +157,11 @@ esac
|
||||
|
||||
ui_print "- Patching ramdisk"
|
||||
|
||||
if [ ! -z $SHA1 ]; then
|
||||
cp init.magisk.rc init.magisk.rc.bak
|
||||
echo "# STOCKSHA1=$SHA1" >> init.magisk.rc
|
||||
fi
|
||||
|
||||
if $SKIP_INITRAMFS; then
|
||||
cpio_add 750 init magiskinit
|
||||
cpio_mkdir 000 overlay
|
||||
cpio_add 750 overlay/init.magisk.rc init.magisk.rc
|
||||
cpio_mkdir 750 overlay/sbin
|
||||
cpio_add 755 overlay/sbin/magisk magisk
|
||||
else
|
||||
./magiskboot --cpio-patch ramdisk.cpio $KEEPVERITY $KEEPFORCEENCRYPT
|
||||
|
||||
cpio_extract sepolicy sepolicy
|
||||
./magisk magiskpolicy --load sepolicy --save sepolicy --minimal
|
||||
cpio_add 644 sepolicy sepolicy
|
||||
rm -f sepolicy
|
||||
|
||||
cpio_add 750 init.magisk.rc init.magisk.rc
|
||||
cpio_add 755 sbin/magisk magisk
|
||||
fi
|
||||
|
||||
mv init.magisk.rc.bak init.magisk.rc 2>/dev/null
|
||||
./magiskboot --cpio-add ramdisk.cpio 750 init monogisk
|
||||
./magiskboot --cpio-patch ramdisk.cpio $KEEPVERITY $KEEPFORCEENCRYPT
|
||||
|
||||
# Create ramdisk backups
|
||||
./magiskboot --cpio-backup ramdisk.cpio ramdisk.cpio.orig
|
||||
./magiskboot --cpio-backup ramdisk.cpio ramdisk.cpio.orig $SHA1
|
||||
|
||||
if ! $KEEPVERITY && [ -f dtb ]; then
|
||||
./magiskboot --dtb-patch dtb && ui_print "- Patching fstab in dtb to remove dm-verity"
|
||||
@@ -218,7 +181,7 @@ rm -f ramdisk.cpio.orig
|
||||
A1020054011440B93FA00F7140020054010840B93FA00F71E0010054001840B91FA00F7181010054
|
||||
|
||||
# skip_initramfs -> want_initramfs
|
||||
$SKIP_INITRAMFS && ./magiskboot --hexpatch kernel \
|
||||
./magiskboot --hexpatch kernel \
|
||||
736B69705F696E697472616D6673 \
|
||||
77616E745F696E697472616D6673
|
||||
|
||||
|
@@ -79,18 +79,12 @@ ui_print "- Constructing environment"
|
||||
|
||||
is_mounted /data && MAGISKBIN=/data/magisk || MAGISKBIN=/cache/data_bin
|
||||
|
||||
if $BOOTMODE; then
|
||||
# Cleanup binary mirrors
|
||||
umount -l /dev/magisk/mirror/bin 2>/dev/null
|
||||
rm -rf /dev/magisk/mirror/bin 2>/dev/null
|
||||
fi
|
||||
|
||||
# Save our stock boot image dump before removing it
|
||||
mv /data/magisk/stock_boot* /data 2>/dev/null
|
||||
|
||||
# Copy required files
|
||||
rm -rf $MAGISKBIN 2>/dev/null
|
||||
mkdir -p $MAGISKBIN
|
||||
rm -rf $MAGISKBIN/* 2>/dev/null
|
||||
mkdir -p $MAGISKBIN 2>/dev/null
|
||||
cp -af $BINDIR/. $COMMONDIR/. $CHROMEDIR $TMPDIR/bin/busybox $MAGISKBIN
|
||||
chmod -R 755 $MAGISKBIN
|
||||
|
||||
|
@@ -1,41 +0,0 @@
|
||||
# Triggers
|
||||
|
||||
on post-fs
|
||||
start logd
|
||||
start magisk_daemon
|
||||
wait /dev/.magisk.unblock 5
|
||||
rm /dev/.magisk.unblock
|
||||
start magisk_pfs
|
||||
wait /dev/.magisk.unblock 10
|
||||
|
||||
on post-fs-data
|
||||
load_persist_props
|
||||
rm /dev/.magisk.unblock
|
||||
start magisk_pfsd
|
||||
wait /dev/.magisk.unblock 10
|
||||
|
||||
# Services
|
||||
|
||||
# Self recoverable service
|
||||
service magisk_daemon /sbin/magisk --daemon
|
||||
user root
|
||||
seclabel u:r:su:s0
|
||||
|
||||
# launch post-fs script
|
||||
service magisk_pfs /sbin/magisk --post-fs
|
||||
user root
|
||||
seclabel u:r:su:s0
|
||||
oneshot
|
||||
|
||||
# launch post-fs-data script
|
||||
service magisk_pfsd /sbin/magisk --post-fs-data
|
||||
user root
|
||||
seclabel u:r:su:s0
|
||||
oneshot
|
||||
|
||||
# launch late_start script
|
||||
service magisk_service /sbin/magisk --service
|
||||
class late_start
|
||||
user root
|
||||
seclabel u:r:su:s0
|
||||
oneshot
|
Reference in New Issue
Block a user