Commit Graph
245 Commits
Author SHA1 Message Date
osm0sis cb044b649b AK3: replace remaining variables
- all working directory variables
- all user set variables
- add backwards compat so devs have time to update anykernel.sh
- overdue core variable cleanup, part 3/x
2024-05-09 14:14:22 -03:00
osm0sis 2bd7ed4945 AK3: replace $home with $AKHOME
- overdue core variable cleanup, part 2/x
2024-05-09 13:59:01 -03:00
osm0sis f35b521327 AK3: remove $bin/ for tools now on path
- begin overdue core variable cleanup: bin -> BIN
2024-05-09 13:51:42 -03:00
osm0sis a6c478e370 tools: update magisk utils to v27.0(27000) beta 2024-02-03 23:57:38 -04:00
osm0sis 458caeda33 tools: update magisk utils to v26.4(26400) stable 2023-11-06 14:19:14 -04:00
osm0sis f63f136037 AK3: add system_dlkm.img flashing to write_boot function 2023-10-20 00:10:34 -03:00
osm0sis d7b689331f tools: update magisk utils to 0352ea2c(26302) canary
- fixes custom AVBv1 signing (see: 1dfb2c34aa)
- fixes/improves dtb patching
- fixes sepolicy patching on older devices
2023-10-18 15:34:00 -03:00
osm0sis 82adc2f4df AK3: separate dump failure and split failure 2023-10-09 11:52:12 -03:00
osm0sis 19ab7e13a3 AK3: only allow repack of hdr v4 ramdisks as lz4-l
- they all get overlayed and must be matching compression formats
2023-09-18 14:54:03 -03:00
osm0sis 1dfb2c34aa AK3: support custom AVBv1 signing with magiskboot
NOTE: this currently appears to be broken in magiskboot, so continue to use boot_signer for now, but we're ready for when it works ;)
2023-09-10 14:37:17 -03:00
osm0sis d2f06464d8 tools: update magisk utils to v26.3(26300) stable 2023-09-04 07:10:30 -03:00
osm0sis df90d744fd AK3: add overlay.d warning for KernelSU users 2023-08-30 19:59:16 -03:00
osm0sis 051f79300f AK3: fix unset PATCHVBMETAFLAG, only read kernel strings once 2023-08-30 19:47:39 -03:00
osm0sis b52433bf12 AK3: fix repack return check with magiskboot 2023-08-28 22:37:04 -03:00
Chris Renshaw 9d09ba3ecd AK3: add no_magisk_check=1 to skip Magisk detection and repatching 2023-08-15 20:08:55 -03:00
Chris Renshaw 32073dff09 AK3: add per-partition attributes, multi-partition fixes
- attributes function now runs via core in setup_ak and reset_ak, but only if it exists, allowing more easy removal of it for setups with no ramdisk changes (so all should now remove the awkward `&& attributes` call from anykernel3.sh, see next commit)
- for multi-partition zips with multiple ramdisks requiring different files, multiple attributes functions may now be specified, either redefine attributes() in anykernel.sh for the next partition, or add a different function for each partition, e.g. boot_attributes() and vendor_boot_attributes()
- fix block=auto multi-partition setup creating an "auto-files" directory instead of final found block, e.g. "init_boot-files"
2023-08-10 13:11:32 -03:00
Chris Renshaw 4030d36655 AK3+Backend: helper module improvements and full KernelSU support
- only parse kernel strings when both do.modules=1 and do.systemless=1 are set
- support post-fs-data.sh in systemless kernel helper module (gets renamed and sourced from the built-in one)
- show systemless kernel helper module as an update pending reboot in module apps if flashed while booted
- add system_ext support to systemless kernel helper module
- show a warning during flash if systemless kernel helper module is configured but there's no decrypted /data access to be able to install it
- detect the installed KernelSU app as the indicator the user intends to use KernelSU, and install systemless kernel helper module to modules_update.img accordingly
- do KernelSU directory setup and create modules_update.img if this appears to be the initial KernelSU install
- set all systemless kernel helper module files to system_file context, since unlabeled files are not gracefully handled by KernelSU (they trigger a reboot and the module gets rejected)

NOTE: currently it appears KernelSU won't parse the modules_update.img on the first boot where it sets itself up from initial KernelSU install, but it will then do it after the following reboot. Hopefully this can be fixed by a future KernelSU release so that the systemless kernel helper module is active right away as this might be necessary to boot fully on some devices
2023-07-16 16:33:47 -03:00
osm0sis 0b37d0bfa4 AK3+Backend: add preliminary KernelSU support 2023-07-04 15:32:02 -03:00
osm0sis c91542d29f AK3: don't attempt to AVBv1 sign if /system/bin/dalvikvm is not present
- latest Android has moved dalvikvm to /apex/com.android.art/bin/dalvikvm but there's currently no way to run this from recovery due to linkerconfig
- AVBv1 signing is most likely only needed on older devices running older Android which will still have /system/bin/dalvikvm so this shouldn't really affect anything
2023-06-05 12:56:37 -03:00
osm0sis 15b90dc7db tools: newer busybox (1.36.1) patched to fix loop mounts on kernels <5.x
Compiled from my own updated fork:
https://github.com/osm0sis/android-busybox-ndk
2023-05-25 18:41:34 -03:00
osm0sis 7ea57acaa6 tools: update to latest busybox (1.36.1)
Compiled from my own updated fork:
https://github.com/osm0sis/android-busybox-ndk
2023-05-24 15:24:56 -03:00
Captain Trips 68564baf10 AK3: clear cow before logical partition replace or resize (#78) 2023-05-04 13:36:15 -03:00
osm0sis ba82924dab AK3+Backend: pass AKHOME via export 2023-05-03 15:45:34 -03:00
osm0sis b3c769f1db AK3+Backend: use busybox as much as possible + OLD_PATH for exceptions 2023-04-23 00:09:54 -03:00
osm0sis f2dbe60f63 AK3: partial revert of d6e040c2 until issue with kernel_dtb is addressed
- magiskboot split needs to be updated to not decompress so that if there's a patched kernel_dtb it can be properly appended to the restored unpatched compressed new kernel

see: https://github.com/topjohnwu/Magisk/pull/6597#issuecomment-1518709863
2023-04-23 00:05:05 -03:00
osm0sis d6e040c227 AK3: update for latest magiskboot, don't un/repack kernel if not patched 2023-04-18 13:27:44 -03:00
Captain Trips ddbb40edc8 AK3: detect flashing to inactive slot during OTA on VAB devices (#77) 2023-04-16 18:06:44 -03:00
engstk 9664985a0b tools: update magisk utils to v26.0(26000) beta
Signed-off-by: engstk <eng.stk@sapo.pt>
2023-04-06 09:34:56 -03:00
osm0sis c2e33f95d1 AK3+Backend: support AMLogic devices where A-only sets slot=normal 2023-02-08 12:53:48 -04:00
osm0sis 6ffb765c8c AK3: correct cmdline to remove any type of leading whitespace 2023-01-20 12:37:19 -04:00
osm0sis 8077d11135 AK3: also remove leading spaces from cmdline 2023-01-09 19:19:13 -04:00
osm0sis c2e0bd7c4b AK3: flash_* display/output/debug improvements
- tidy up flash_generic block display output to match setup_ak
- add helpful flash_generic debugging stderr for mapper flashing
- hide flash_boot harmless stderr from strings command in TWRP
2023-01-07 14:25:44 -04:00
osm0sis aea91db9e7 AK3: block=auto and flash_generic improvements
- restore block=auto covering both ramdisk and boot, with ramdisk list favored to accomodate init_boot
- favor mapper/by-name in flash_generic
- add block/by-name over bootdevice/by-name in flash_generic to mirror block=auto/<name> path finding behavior
2023-01-06 22:16:52 -04:00
osm0sis 1fd27023b8 AK3: partition auto-detect improvements
- remove whitelist to allow auto-detect for any partition based on by-name filename only
- add more error catching for manually specified partition paths
- restore Huawei Treble partitions to auto-detect (kernel, ramdisk and recovery_ramdisk)
2022-12-01 19:59:09 -04:00
osm0sis 020ca6fddb AK3: add support for simple init_boot + vendor_kernel_boot setup
- starting with Pixel 7 series, boot_img_hdr_v4 is now even more complicated, adding 2 more new partitions (init_boot and vendor_kernel_boot) so let's attempt to keep it as simple as we can
- if init_boot partition is detected split up flash files for boot (kernel), init_boot (ramdisk), and vendor_kernel_boot (dtb)
- continue to support current practice of Image* and dtb in zip root by automatically creating a multi-partition AK3 zip setup from these files (ramdisk directory is for the init_boot partition since that's where Magisk and overlay.d will be)

NOTE 1: anykernel.sh must still be setup for multi-parition patching - see the updated Example file for parts to uncomment
NOTE 2: currently magiskboot still does not support unpack/repack of VNDRBOOT v4 multi-ramdisk format (i.e. vendor_boot v4 and vendor_kernel_boot) so if modifications are necessary in these ramdisks they will need to be prebuilt and flashed whole by including vendor_boot.img and/or vendor_kernel_boot.img in the zip root
2022-11-11 22:20:59 -04:00
Chris Renshaw cf1a93136c AK3: separate init_boot and boot partition detections
- both boot for kernel and init_boot for first stage ramdisk access to overlay.d will be needed
- remove ramdisk and recovery_ramdisk from detection since devices which use them also use kernel partition and would need to be multi-partition setups either way
2022-10-19 23:19:09 -03:00
Matthew Alex 042d0ccf6d AK3: add support for vendor_kernel_boot (#75) 2022-10-19 23:07:26 -03:00
Captain Trips 70fb859ec1 lptools: use a different overload of MetadataBuilder::New (#74) 2022-08-27 16:12:55 -03:00
Captain Trips 97794de0a2 AK3: use lptools resize for vendor_dlkm (#73)
- default to replace and fallback to resize when not enough space in super
2022-08-02 17:31:51 -03:00
engstk 330de65c77 tools: update magisk utils to v25.2(25200) stable
Signed-off-by: engstk <eng.stk@sapo.pt>
2022-07-27 12:19:30 -03:00
Chris Renshaw 6e1b5c9cd9 tools: update magisk utils to v25.1(25100) stable 2022-06-20 00:24:11 -03:00
Captain Trips bc736e9ce1 AK3: add support for avb patching (#70)
- this supports custom kernel users to continue not having to fastboot reflash vbmeta with --disable-verity and --disable-verification, now that Magisk 24303+ no longer patches avb out of the fstab on-the-fly at boot time
- checks for an avb option in the fstab entry for the current partition
- if found, it checks if verity or verification is disabled on the top-level vbmeta, and if so, appends a hashtree and FEC data to the partition and updates the hashtree descriptor in the vbmeta partition referenced in the avb option
2022-06-08 13:33:19 -03:00
engstk f81b0b2db6 tools: update magisk utils to v25.0(25000) beta
Signed-off-by: engstk <eng.stk@sapo.pt>
2022-06-07 20:21:32 -03:00
Chris Renshaw c8961dedb8 AK3: silence placeholder cleanup rmdir noise 2022-06-07 20:19:45 -03:00
Captain TripsandChris Renshaw 79cb6945ff AK3: add support for resizing logical partitions (#69)
- add flash_generic support for flashing to dynamic/logical partitions larger than stock using phhusson's lptools binary
- enable full automated support for flashing custom vendor_dlkm.img (note: must NOT be sparse format; factory images are sparse, but images generated from source are not)

Co-authored-by: Chris Renshaw <osm0sis@outlook.com>
2022-04-30 20:01:03 -03:00
osm0sis adb09dcc81 AK3: ensure no template files from beginner devs get to the ramdisk 2022-04-23 18:47:35 -03:00
osm0sis 97d2d7ffd5 AK3: also ensure $comp fallback is a working command for ramdisks 2022-04-10 22:30:19 -03:00
osm0sis c19c5be18c AK3: fix unpack/repack with magiskboot zimage kernel support
- exclude "zimage" as a compression type since magiskboot unpack, split and repack handle it automatically and there is no fallback
- ensure $comp is a working command for all busybox compression fallbacks
2022-04-03 09:19:15 -03:00
osm0sis 991bb673a7 tools: update magisk utils to v24.3(24300) stable 2022-03-10 19:17:40 -04:00
Chris Renshaw 743bb44ed1 AK3: add support for new upstream AOSP init_boot partition
https://android-review.googlesource.com/c/platform/build/+/1882268
2022-03-04 13:45:59 -04:00