- add built-in support for rkcrc for Rockchip board devices signed ramdisk image (see: https://github.com/rockchip-linux/rkflashtool)
- add built-in detection and support for Barnes & Noble Nook 'Green Loader/Green Recovery' signature
- sometimes it's difficult to anchor to specific end lines due to variations across ROMs, so allow the end line to be blank " "
- note this will also remove the trailing blank line so for replacements a trailing \n should be added to maintain spacing; this should be pretty intuitive since you are including the blank line as the end line search
- some Samsung device images can be unpacked and repacked with the standard tools but the id sha1 is offset differently than in the standard header resulting in broken hash type detection
- add built-in support for dumpimage/mkimage for DENX U-Boot uImage devices (see: http://git.denx.de/u-boot.git)
- add built-in support for pxa1088-unpackbootimg/pxa1088-mkbootimg for Marvell PXA1088 board devices' deviation from the AOSP standard (see: https://github.com/osm0sis/pxa1088-mkbootimg)
patch_prop:
- if matched name is not present, appends new prop entry to the end of the file
- if matched name is present, replaces the entry with the new value
- use proper variable for ramdisk in mkbootfs support
patch_cmdline:
- if match not present, appends to the end of the current commandline
- if match is present, expands to full string (to allow for item=value entries), and optionally replaces with a second string, or just removes the entry, then cleans up doublespaces and trailing whitespace
- Chainfire inlines support for this into SuperSU (unlike the similar LG Bump support which must be added via /data/custom_boot_image_patch.sh), so we must also.
- on Sony devices supporting standard boot.img on unloacked bootloaders first AK2 flash would convert from ELF to boot.img, but second flash would attempt to use unpackelf again and fail, so fallback to unpackbootimg
- requires updated unpackelf binary for Sony ELF devices (see: https://github.com/osm0sis/unpackelf)
- add built-in support for futility for ChromeOS devices (see https://github.com/osm0sis/futility)
- small path cleanup since we generally need to be in /tmp/anykernel for post-repack anyway
- add built-in support for mtd-utils (nanddump, flash_erase, nandwrite) for MTD-based Android devices that do not work with dd
- wipe boot block with dd before write to be clean/safe (SuperSU zip also does this)
Known working mtd-utils ARM binaries can be found in my FlashIt v2.5 package:
https://forum.xda-developers.com/showthread.php?t=2239421
- add built-in support for unpackelf for Sony ELF devices (see: https://github.com/osm0sis/unpackelf)
- kernel section is not gzipped on ELF devices with non-QCDT/non-ELF dtb, which needs compression and the dtb appended before it can be repacked (thanks @tobiaswaldvogel)
- add busybox to the zip to provide a uniform expected environment
- set up busybox symlinks in /tmp and execute anykernel.sh from a shell created with these at the front of the path, overriding the recovery applets
- fix insert_line to perform more as expected by adding a newline automatically
- add updated arm mkbootimg+unpackbootimg binaries from my AIK Build Farm, see my repos for changes
- rewrite backend to use proper exit codes from anykernel.sh now that it is shell
- fix ui_print and specific error messages by passing the outfd to anykernel.sh from the backend
- add error messages for unpacking and repacking ramdisk, and make resulting image size check into its own error message
- fix for cpio overwriting AK2 ramdisk files on some recoveries by using a tmp directory
- add further ramdisk unpack verification by checking that there are actually files in the ramdisk directory prior to moving the tmp files back
- add insert_file function to make multi-line additions easier
- add patch_fstab function to greatly simplify mount option/flag changes (thanks @Khaon for the idea)