KernelPatch 0.8.4
Esse commit está contido em:
115
META-INF/com/google/android/update-binary
Arquivo normal
115
META-INF/com/google/android/update-binary
Arquivo normal
@@ -0,0 +1,115 @@
|
||||
#!/sbin/sh
|
||||
|
||||
export ZIPFILE="$3"
|
||||
export OUTFD="/proc/self/fd/$2"
|
||||
export TMP="/tmp"
|
||||
|
||||
bb="$TMP/busybox-arm"
|
||||
l="$TMP/bin"
|
||||
|
||||
ui_print() {
|
||||
echo "ui_print $1" > "$OUTFD";
|
||||
echo "ui_print" > "$OUTFD";
|
||||
}
|
||||
|
||||
unzip -o "$ZIPFILE" "install.sh" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "magiskboot" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "libapjni.so" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "kpimg-android" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "kptools-android" -d "$TMP";
|
||||
unzip -o "$ZIPFILE" "superkey-here.txt" -d "$TMP";
|
||||
|
||||
cd "$TMP"
|
||||
|
||||
# getprop
|
||||
GETPROP=$(which getprop)
|
||||
if [ -z "$GETPROP" ]; then
|
||||
GETPROP=/system/bin/getprop
|
||||
[ ! -e "$GETPROP" ] && GETPROP=/sbin/getprop
|
||||
[ ! -e "$GETPROP" ] && GETPROP=$(which resetprop)
|
||||
fi
|
||||
|
||||
ARCH=$(uname -m)
|
||||
|
||||
if [ "$ARCH" = "aarch64" ]; then
|
||||
ui_print "ARCH is arm64..."
|
||||
else
|
||||
ui_print "Not is arm64, aborting..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
is_ab_device() {
|
||||
local S="$($GETPROP "ro.boot.slot_suffix")"
|
||||
local U="$($GETPROP "ro.build.ab_update")"
|
||||
if [ -n "$S" -a "$U" = "true" ]; then
|
||||
echo "1"
|
||||
else
|
||||
echo "0"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$(is_ab_device)" = "1" ]; then
|
||||
slot_suffix=$($GETPROP ro.boot.slot_suffix)
|
||||
dd if="/dev/block/by-name/boot$slot_suffix" of="$TMP/boot.img"
|
||||
else
|
||||
dd if=/dev/block/by-name/boot of="$TMP/boot.img"
|
||||
fi
|
||||
|
||||
if [ -f "$TMP/boot.img" ]; then
|
||||
ui_print "get boot success"
|
||||
else
|
||||
ui_print "get boot failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "$TMP/boot.img" /sdcard/
|
||||
|
||||
ui_print "backup boot.img in sdcard"
|
||||
|
||||
ui_print "unpacking.."
|
||||
|
||||
./magiskboot unpack "$TMP/boot.img" || exit $?
|
||||
|
||||
mv "$TMP/kernel" "$TMP/kernel.ori"
|
||||
|
||||
SUPERKEY="$(cat "$TMP/superkey-here.txt")"
|
||||
|
||||
if [ -z "$SUPERKEY" ]; then
|
||||
ui_print "Superkey must not be empty."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_print "Your superkey is: $SUPERKEY"
|
||||
|
||||
ui_print "Patching kernel"
|
||||
./kptools-android -p "$TMP/kernel.ori" --skey "$SUPERKEY" --kpimg "$TMP/kpimg-android" --out "$TMP/kernel"
|
||||
|
||||
if [ -f "$TMP/kernel" ]; then
|
||||
ui_print "patch kernel success"
|
||||
else
|
||||
ui_print "patch kernel failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_print "Repacking boot image"
|
||||
./magiskboot repack "$TMP/boot.img"
|
||||
|
||||
if [ -f "$TMP/new-boot.img" ]; then
|
||||
ui_print "repack boot success"
|
||||
else
|
||||
ui_print "repack boot failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
ui_print "flashing..."
|
||||
|
||||
if [ "$(is_ab_device)" = "1" ]; then
|
||||
slot_suffix=$($GETPROP ro.boot.slot_suffix)
|
||||
blockdev --setrw "/dev/block/by-name/boot$slot_suffix"
|
||||
dd if=new-boot.img of="/dev/block/by-name/boot$slot_suffix"
|
||||
else
|
||||
blockdev --setrw /dev/block/by-name/boot
|
||||
dd if=new-boot.img of=/dev/block/by-name/boot
|
||||
fi
|
||||
|
||||
ui_print "flash done"
|
1
META-INF/com/google/android/updater-script
Arquivo normal
1
META-INF/com/google/android/updater-script
Arquivo normal
@@ -0,0 +1 @@
|
||||
# Dummy file; update-binary is a shell script.
|
@@ -1,2 +1,5 @@
|
||||
# kpatch-zip-flashable
|
||||
KernelPatch flashable zip in recovery
|
||||
|
||||
|
||||
PUT YOUR SUPERKEY IN FILE "superkey-here.txt" AND JUST FLASH IN RECOVERY
|
BIN
kpimg-android
Arquivo normal
BIN
kpimg-android
Arquivo normal
Arquivo binário não exibido.
BIN
kptools-android
Arquivo normal
BIN
kptools-android
Arquivo normal
Arquivo binário não exibido.
BIN
libapjni.so
Arquivo normal
BIN
libapjni.so
Arquivo normal
Arquivo binário não exibido.
BIN
magiskboot
Arquivo normal
BIN
magiskboot
Arquivo normal
Arquivo binário não exibido.
0
superkey-here.txt
Arquivo normal
0
superkey-here.txt
Arquivo normal
Referência em uma nova issue
Block a user