Commit Graph
531 Commits
Author SHA1 Message Date
osm0sis ddf0e59256 anykernel: add supported.versions 2018-12-16 18:36:54 -04:00
osm0sis a31d03f2ce Backend: introduce Android version check
- checks the supported.versions prop in anykernel.sh and matches against it to prevent users flashing incorrect kernels for ROM versions
- supported.versions can be a list, e.g. "7.1.2, 8.0, 8.1" or a range, e.g. "8.1 - 9" of versions in the correct formatting for that Android version in ro.build.version.release in /system/build.prop
2018-12-16 18:31:53 -04:00
osm0sis 9e24ea91f1 README: add replace_string scope + note re: extra device.name# entries 2018-12-16 14:23:33 -04:00
osm0sis d9acb3384d AK2: allow replace_string to optionally global scope replace 2018-12-16 14:03:47 -04:00
osm0sis 1d58385b26 AK2+Backend: fix file_getprop truncating if prop value contained =
See comments: https://github.com/osm0sis/AnyKernel2/pull/35#issuecomment-447648900
2018-12-16 13:53:33 -04:00
osm0sis 56b4244d53 Backend: cleanups 2018-12-15 09:00:36 -04:00
osm0sis 77fe6bffeb Backend: more robust getprop checks and replacements
- getprop failures are not only a system-as-root device issue, as it now also happens on OnePlus 5T in recovery when ROM is Pie Open Beta
- this appears to come down to a libc mismatch between recovery and ROM resulting in direct property checks failing but getprop without arguments printing all properties working
- revert most of https://github.com/osm0sis/AnyKernel2/commit/b1524da099efa716616a8eb3357876bca6a73540 since this should remain resolved with the new implementation
- keep the old check and file_getprop fallback for devices without getprop entirely
- add new getprop fallback that parses the full getprop output
2018-12-14 16:29:53 -04:00
osm0sis dda2ee9bbf README: document device.name<num> limit removal 2018-12-14 15:46:22 -04:00
osm0sis da8c2d1e6c Backend: allow infinite device.name<num>= device check properties (#34) 2018-12-14 15:43:25 -04:00
osm0sis fd881bd8d7 Backend: only attempt module bind remount if already mounted
- blindly attempting to remount broke module placement on some ROMs (e.g. Pocophone MIUI stock)
2018-12-11 13:34:37 -04:00
osm0sis 6d5332e054 Backend: attempt remounting module location as well
- some custom ROMs on some devices (e.g. Lineage on Pocophone) bind mount modules in /system over modules on /vendor, so remount rw at the bind target to ensure the bind source is also remounted and replaced
- toybox mount doesn't accept the /. prefixed paths from find so ensure we use busybox for mounts

Thanks franciscofranco and topjohnwu for the tips!
2018-12-11 02:35:15 -04:00
osm0sis e1ae4412f5 AK2: add AOSP boot_img_hdr_v1 support 2018-10-28 19:30:59 -03:00
osm0sis 301ed77319 tools: update to latest builds, including busybox (1.29.3), lz4 (1.8.3)
Compiled from my own updated forks:
https://github.com/osm0sis/mkbootimg
https://github.com/osm0sis/android-busybox-ndk

ARM binaries; see AIK-mobile v3.4 for other architectures and optional binaries:
https://forum.xda-developers.com/showthread.php?t=2073775
2018-10-28 19:28:03 -03:00
osm0sis 9d7f85807f AK2: fix stupid copy pasta error
thanks eng.stk for catching it
2018-10-01 13:18:43 -03:00
osm0sis 3ab879b71a AK2: add Android Pie /dev/block/by-name location to partition search list 2018-09-30 14:44:00 -03:00
osm0sis 361712b5e2 tools: update to latest builds, including busybox (1.29.2)
Compiled from my own updated forks:
https://github.com/osm0sis/mkbootimg
https://github.com/osm0sis/android-busybox-ndk

ARM binaries; see my Busybox Installer for busybox in other architectures:
https://github.com/Magisk-Modules-Repo/Busybox-Installer
2018-09-08 15:50:34 -03:00
Nathan Chancellor 51662f9a1d README: Document flash_dtbo
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-08-03 00:03:46 -03:00
Nathan Chancellor 5ce0e9f2d4 AK2: Move flash_dtbo into write_boot
split_boot is for fine grained control over what exactly gets flashed
at what point. It makes more sense for flash_dtbo to live in write_boot,
which does everything all at once.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-08-03 00:03:46 -03:00
Nathan Chancellor d067d39b83 AK2: Expose dtbo flashing
Some zips may want to flash just the dtbo so add a function that can be
called in anykernel.sh to make that happen.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-08-03 00:03:46 -03:00
DarkLord1731 e92d8f96c6 AK2: Allow reading multiple lines from version file
This becomes handy to display some additional details apart from just showing the kernel version
2018-07-29 06:58:38 -03:00
osm0sis 30cca512d9 tools: bring back busybox 1.29.1 built with the broken gzip rolled back
https://bugs.busybox.net/show_bug.cgi?id=11171
2018-07-24 13:19:55 -03:00
osm0sis 8aa7b787e1 tools: revert to busybox 1.28.4 until an issue with 1.29.1 gzip can be resolved
- gzip in busybox 1.29.1 doesn't seem to use compression anymore, with -1 and -9 both coming
out to the same size, generally dramatically larger than previously resulting in
boot-new.img exceeding the partition size on some devices so then failing the check.

e.g. 28mb ramdisk.cpio -> 11.2mb ramdisk.cpio.gz in 1.28.4, is now 20mb in 1.29.1

thanks nathanchance for reporting
2018-07-23 23:03:44 -03:00
osm0sis a53e3f765c tools: update to latest builds, including busybox (1.29.1), lz4 (1.8.2) and xz (5.2.4)
Compiled from my own updated forks:
https://github.com/osm0sis/mkbootimg
https://github.com/osm0sis/android-busybox-ndk

ARM binaries; see AIK-mobile v3.3 for other architectures and optional binaries:
https://forum.xda-developers.com/showthread.php?t=2073775
2018-07-23 10:39:04 -03:00
osm0sis b1524da099 Backend: move system_root mounting to after device check
- adapted from https://github.com/nathanchance/AnyKernel2/commit/3dfba3dcabff3cf1f859276e1851ae35891d8801
- works around odd behaviors in TWRP on system-as-root devices, but retains working fallback using /system/system/build.prop if getprop also fails
- simplify unmount_all stderr redirection

Please see the above linked commit for further details.
Thanks to nathanchance for reporting, the device-specific workaround, and much testing
2018-07-19 21:30:56 -03:00
osm0sis 0b8b09f29e AK2: fix repacked ramdisk check now that compext is local to repack_ramdisk
Thanks eng.stk for reporting and testing the fix
2018-07-16 23:16:26 -03:00
Nathan Chancellor 01bf828e78 backend: Break out of device check loop if a match is found
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-07-16 21:28:54 -03:00
Nathan Chancellor dd914e3385 backend: Break out of device check loop if a blank value is found
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-07-16 21:28:54 -03:00
Nathan Chancellor cea9c5a247 backend: Cache build.prop values in device check block
These values are static, we don't need to keep getting them with
getprop.

Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
2018-07-16 21:28:54 -03:00
osm0sis 303e50e371 Example: fix more things confusing to new adopters
DO NOT MERGE if you have already updated your ramdisk/anykernel.sh properly for your device
2018-07-16 14:27:08 -03:00
osm0sis 6714cd3250 README: document patch_ueventd 2018-07-16 14:01:23 -03:00
osm0sis 955f3ce488 AK2: add patch_ueventd
- introduce function to modify or add entries to ueventd.rc using its spaced columns format, matched using the device node
2018-07-16 14:00:23 -03:00
osm0sis 1811b87a19 AK2: fix slot detection broken by block auto detection 2018-07-16 13:54:49 -03:00
osm0sis 915cdaff1b AK2: fix replace_section and remove_section functions
- was broken with search strings containing paths (a limitation with busybox sed)
- now matches blank lines and lines containing only white space for next-empty-line matching
- include end-of-file as the final possible end-point for next-empty-line matching
2018-07-14 16:48:45 -03:00
osm0sis 8ed75ed99c README: touch up new block= documentation to show full paths are still supported 2018-07-14 16:20:14 -03:00
osm0sis 56373a6a1c AK2: use local variables for ramdisk editing functions 2018-07-13 02:08:44 -03:00
osm0sis 5fbae260c0 Revert "Support more locations for dtbo img (#24)"
This reverts commit bafe4bd586.

A certain level of functioning recovery is expected by AnyKernel2 (versus this patch's source, the Magisk installer, which is extremely pessimistic).
2018-07-13 01:29:33 -03:00
osm0sis c545e6779e anykernel: fix ramdisk/sbin permissions
- while stock uses 750, Magisk and SuperSU both use 755 for sbin and contained binaries, so we had better do so as well
2018-07-13 01:27:54 -03:00
osm0sis 23a088f4c8 README: document block=auto, fix zip exclusions 2018-07-13 01:27:20 -03:00
osm0sis 75986e14d1 AK2: add auto detection of named block (e.g. boot, recovery) partitions (#19, #26)
- search using a list of known ramdisk/kernel or recovery by-name partition names
- block=auto is equivalent to block=boot
- for use with broad, device non-specific AK2-based mod zips
2018-07-13 01:20:04 -03:00
osm0sis 2a34450ba9 AK2+Backend: move system_root setup and tear down to backend
- abstract out unmounting and expand to support undoing system_root
- also preserve and restore LD_PRELOAD
2018-07-03 20:49:31 -03:00
osm0sis 25d93de829 anykernel: fix special characters in prop values breaking shell execution 2018-05-30 00:01:57 -03:00
osm0sis caf289b584 Backend: misc fixes
- remove "kernel" from "Installing" wording since AK2 is also used on recoveries, and multi-partition Treble devices and this could be misleading
- fix getprop build.prop fallback on /system/system devices
2018-05-29 23:57:29 -03:00
Chris Renshaw f2ee53b843 AK2: fix AVBv1 auto signing
- BootSignature.jar uses stderr to print VALID on image verification, so the grep was always failing
2018-05-22 01:08:01 -03:00
Chris Renshaw b648bd74d6 Merge pull request #27 from googlebleh/googlebleh
README: fix command to match filename in repo
2018-05-19 12:46:18 -03:00
Colin Wee 4615e08f11 README: fix command to match filename in repo 2018-05-18 18:03:00 -04:00
Zackptg5 bafe4bd586 Support more locations for dtbo img (#24)
* Support more locations for dtbo img (from Magisk's util_functions.sh)
2018-05-03 06:15:06 -03:00
osm0sis 14826f628f AK2: fix elftool repack of ELF without cmdline 2018-03-24 11:31:39 -03:00
osm0sis a4cc13af28 tools: update to latest lz4 (1.8.1.2)
ARM binary; see AIK-mobile v3.2 for other architectures and optional binaries:
https://forum.xda-developers.com/showthread.php?t=2073775
2018-03-23 13:42:54 -03:00
osm0sis 6e14f5cfe9 Backend: fix modules support regression for /vendor
thanks @nathanchance for the quick heads-up
2018-03-23 13:29:55 -03:00
osm0sis e686f1f76c README: document multi-partition setup and auto slot detection 2018-03-23 12:31:00 -03:00