|Jordan ERNST 5a56aa917b
Decprecated. Now using this method: https://topjohnwu.github.io/Magisk/ota.html
This scripts aims in simplifing patching and installing Magisk after a LineageOS for microG update.
It has been made to run on Linux x86 or x64 and patch a boot image for an ARM device.
It detects LineageOS for microG version via adb, download the ROM, extracts
payload.bin and dumps
boot.img, patches it with Magisk, and flashes it.
⚠️ This has only been tested on a FP3 device, at the time of writing with LineageOS for microG 19.1 (August 23, 2022 build) Magisk v25.2 ⚠️
Run on an other device
Before to run this script for an other device, please make sure you understand what you run and every step of the script. I won't be responsible if anything goes wrong.
The script is designed to:
- run the script
boot_patch.sh boot.imgwith KEEPVERITY and KEEPFORCEENCRYPT to true
- install Magisk by patching the boot image and not the recovery image.
- run to flash the boot image in boot_a or boot_b partition (the FP3 way) and not boot partition
If you fit the conditions above, you have to make sure the patch
KEEPVERITY=true KEEPFORCEENCRYPT=true sh boot_patch.sh outputs the same boot image than the Magisk Manager app:
- patch boot via Magisk Manager app
- compare both files
new-boot.imgwith diff or by comparing hashes.
If and only if both output files are the same and you meet all the conditions, you can try the python script.
You need to have on your system (in your PATH):
- python (3)
You need to have USB debugging Enabled and configured.
Check your devices appears when running
adb devices with device connected via USB.
device variable by your device code, as listed here.
Plug your phone via USB and make sure adb is properly set up: your device should appear when running
Run patch boot locally
That's how we can run Magisk's
boot_patch.sh on Linux x86 or x64 and patch a boot image for an ARM device
Tested with Magisk v25.2 with FP3
- Get Magisk
- Extract it
Keep in the same folder:
You can delete all the rest.
- Change function
ui_print()to only contain
- Change every
adb shell getprop, to go run it on device rather than locally.
You can now run:
sh boot_patch.sh boot.img
The outpout file
new-boot.img has the exact same sha256 hash as the
magisk_patched-*.img, so we can consider it works :)