A bit of an update for Pixel 7 support, amongst other things! A few feature commits here to showcase the excellent new work from
@capntrips to support flashing on devices with the default vbmeta AND resize vendor_dlkm on-the-fly as part of the zip flash, and then my new simple init_boot zip setup. The example anykernel.sh has gotten a lot of tweaks to be more readable/usable, so existing kernel devs should consider updating theirs to match. Thanks again to
@capntrips and
@eng.stk for helping to keep AK3 up-to-date while I've been generally busy with an infant, work, a broken/wiped laptop and data loss!
We continue to be hampered by magiskboot not supporting unpack/repack of the VNDRBOOT v4 multi-ramdisk; If any devs reading this have the time/skill required to add it to magiskboot, please do!
AK3: silence placeholder cleanup rmdir noise:
https://github.com/osm0sis/AnyKernel3/commit/c8961dedb8b58e7d3e7fa20eac20b04d11ab3e9b
tools: update magisk utils to v25.0(25000) beta:
https://github.com/osm0sis/AnyKernel3/commit/f81b0b2db69d94b3768352fea29babf447f015e7
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
https://github.com/osm0sis/AnyKernel3/commit/bc736e9ce14a6b7a3ba97c181265c8b946ac968f
README: update for httools_static + fec:
https://github.com/osm0sis/AnyKernel3/commit/1e417cbc78560e170d1e6f79e5dcfa15d60363de
tools: update magisk utils to v25.1(25100) stable:
https://github.com/osm0sis/AnyKernel3/commit/6e1b5c9cd9a265070e14f07f75270eb99990a5c9
tools: update magisk utils to v25.2(25200) stable:
https://github.com/osm0sis/AnyKernel3/commit/330de65c7711db446b261a35634e473c1badec3f
AK3: use lptools resize for vendor_dlkm (#73):
https://github.com/osm0sis/AnyKernel3/commit/97794de0a2679b64d337543d14e5ae3a2e782b0d
lptools: use a different overload of MetadataBuilder::New (#74):
https://github.com/osm0sis/AnyKernel3/commit/70fb859ec10002abbd459d25c0ca4a9236676aeb
AK3: add support for vendor_kernel_boot (#75):
https://github.com/osm0sis/AnyKernel3/commit/042d0ccf6d29d3a5c2e3849a0b128bd1c1489768
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
https://github.com/osm0sis/AnyKernel3/commit/cf1a93136c74a45183bfbaba5860bf766b83a9b5
Backend: pass ZIPFILE name into AK3 core env:
https://github.com/osm0sis/AnyKernel3/commit/c713211a84f357c8532179800e801a43f24189b2
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
https://github.com/osm0sis/AnyKernel3/commit/020ca6fddb27e86809a33bbcf88cf11737d11375
Example: add commented init_boot + vendor_kernel_boot setup for reference:
https://github.com/osm0sis/AnyKernel3/commit/8db5d2413a98582bd3a8bcb89a904d0791696f29
LICENSE: shorten by combining for included Apache 2.0 utilities:
https://github.com/osm0sis/AnyKernel3/commit/eb203ccd54850518827c9cc9c9a46741432e9c9a
Example: clean up some more for readability:
https://github.com/osm0sis/AnyKernel3/commit/f14d70d54b9dd98c9a067922f45136758b9572af
README: updates to bring in line with xda thread:
https://github.com/osm0sis/AnyKernel3/commit/dd66ae6335b58b175e14b372600b889dc73467d7
Happy hacking!