Skip to content

Instantly share code, notes, and snippets.

@BluCobalt
Created April 2, 2024 05:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BluCobalt/ce6170c399b4a0f33f177378c566d1f3 to your computer and use it in GitHub Desktop.
Save BluCobalt/ce6170c399b4a0f33f177378c566d1f3 to your computer and use it in GitHub Desktop.
automated kernelsu and avbroot
#!/usr/bin/env sh
PAYLOAD_DUMPER_LINK="https://github.com/ssut/payload-dumper-go/releases/download/1.2.2/payload-dumper-go_1.2.2_linux_386.tar.gz"
OTA_LINK="https://dl.google.com/dl/android/aosp/panther-ota-ap1a.240305.019.a1-4eb706b7.zip"
KERNELSU_LINK="https://github.com/tiann/KernelSU/releases/download/v0.9.2/AnyKernel3-android13-5.10.205_2024-03.zip"
MAGISKBOOT_LINK="https://github.com/topjohnwu/Magisk/releases/download/v27.0/Magisk-v27.0.apk"
AVBROOT_LINK="https://github.com/chenxiaolong/avbroot/releases/download/v3.1.1/avbroot-3.1.1-x86_64-unknown-linux-gnu.zip"
ARCH=x86_64
AVBROOT_INPUT_FILES_DIR="../avbroot-input"
# download files
mkdir downloads
echo
echo DOWNLOADING FILES
echo
wget $PAYLOAD_DUMPER_LINK -O downloads/payload-dumper.tar.gz
wget $OTA_LINK -O downloads/original-ota.zip
wget $KERNELSU_LINK -O downloads/kernelsu.zip
wget $MAGISKBOOT_LINK -O downloads/magisk.zip
wget $AVBROOT_LINK -O downloads/avbroot.zip
# download payload dumper, and extract the ota
echo
echo PREPARING PAYLOAD-DUMPER
echo
mkdir payload-dumper
cd payload-dumper
tar -xvzf ../downloads/payload-dumper.tar.gz
cd ..
echo
echo PREPARING OG OTA
echo
mkdir og-ota
cd og-ota
unzip ../downloads/original-ota.zip
# ../payload-dumper/payload-dumper-go -o . payload.bin
../payload-dumper/payload-dumper-go -p boot -o . payload.bin
cd ..
# patch the boot image with a kernelsu kernel
echo
echo PREPARING KERNEL
echo
mkdir kernel
cd kernel
unzip ../downloads/kernelsu.zip
cd ..
echo
echo PREPARING MAGISKBOOT
echo
mkdir magisk
cd magisk
unzip ../downloads/magisk.zip
cp lib/x86_64/libmagiskboot.so magiskboot
chmod +x magiskboot
cd ..
echo
echo PATCHING BOOT IMAGE
echo
mkdir boot-image-work
cd boot-image-work
cp ../og-ota/boot.img .
../magisk/magiskboot unpack boot.img
mv -f ../kernel/Image kernel
../magisk/magiskboot repack boot.img
cp new-boot.img ../kernelsu-patched-boot.img
cd ..
# patch and sign ota with avbroot
echo
echo PREPARING AVBROOT
echo
mkdir avbroot
cd avbroot
unzip ../downloads/avbroot.zip
chmod +x avbroot
cp ../$AVBROOT_INPUT_FILES_DIR/* .
cd ..
echo
echo PATCHING OTA
echo
./avbroot/avbroot ota patch --input ./downloads/original-ota.zip --key-avb ./avbroot/avb.key --key-ota ./avbroot/ota.key --cert-ota ./avbroot/ota.crt --prepatched ./kernelsu-patched-boot.img --output ./patched-ota.zip
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment