41

[DEV][TEMPLATE] AnyKernel3 - Easily Mod ROM Ramdisk + Pack Image.gz [Flashable Z...

 2 years ago
source link: https://forum.xda-developers.com/t/dev-template-anykernel3-easily-mod-rom-ramdisk-pack-image-gz-flashable-zip.2670512/page-55#post-88108455
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Easily Mod ROM Ramdisk + Pack Image.gz [Flashable Zip]

pascua28

Recognized Developer
That's not currently passed in to ak3-core.sh from the Backend. I could definitely add that if it would be of use to you, however!

Yes, please. Thank you

Reactions: osm0sis

osm0sis

Senior Recognized Developer / Contributor
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! :cowboy:
Last edited: Nov 13, 2022

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK