Commit Graph
321 Commits
Author SHA1 Message Date
osm0sis bf9e9fd487 AK3: only attempt fallback kernel decompression if format was identified 2020-01-12 23:32:26 -04:00
osm0sis 4bae117013 AK3: fix AVBv1 signing on Android 10 2020-01-12 16:14:39 -04:00
osm0sis ef24a09b51 AK3: auto split Image.*-dtb to kernel/kernel_dtb + re-patch for Magisk 2020-01-12 15:30:42 -04:00
osm0sis 810de5296f Backend: APEX mounts support improvements 2020-01-12 02:22:30 -04:00
osm0sis d2e55da124 tools: update magisk utils to v20.3(20300) stable 2020-01-09 21:59:36 -04:00
Zackptg5 648f23fdaa Should only run in recovery 2020-01-04 17:37:39 -04:00
Zackptg5 bb144e1a51 Add apex mount/umount (#48)
Add apex mounting for android Q so dynamic linked binaries and libs will work during install

* Add apex stuff
* Fix minor type
* Better minor type solution
* Update update-binary
2020-01-03 14:16:14 -04:00
osm0sis dd041bafe9 tools: update magisk utils to v20.2(20200) stable 2020-01-02 12:17:25 -04:00
osm0sis 9ece27131a tools: update magisk utils to v20.1(20100) stable 2019-11-03 03:22:30 -04:00
osm0sis 02f4d2d35e tools: update to latest busybox (1.31.1)
Compiled from my own updated fork:
https://github.com/osm0sis/android-busybox-ndk
2019-11-03 03:20:42 -04:00
osm0sis beec6a6114 Backend: further fixes for GSIs
- ro.vendor.build.product (from #44) doesn't appear to actually exist in nature, so replace it with ro.product.vendor.device for API 28+ devices, per https://github.com/phhusson/vendor_hardware_overlay/issues/25
- no need to check so many props for getprop parsing fallback check, simply look for ro.build.type which all devices should have in antiquity
2019-10-29 17:22:08 -03:00
osm0sis 07def96480 Backend: break early on getprop failure fallback when value found 2019-10-16 17:15:28 -03:00
osm0sis 6515f57493 Backend: fix getprop and devicecheck for GSIs
- add additional prop locations to getprop failure fallback
- add vendor props to devicecheck and getprop parsing fallback check to avoid false negatives on GSIs
- mask errors from devicecheck getprops as not all of them may exist on GSIs or non-GSIs

Thanks @lazerl0rd for the information and start on the changes

Closes #44
2019-10-16 17:05:52 -03:00
Chris Renshaw 98b1ac602f Backend: fix restore_env $bb commands
- this needs to be before cleanup so busybox will still be there
2019-08-29 01:27:02 -03:00
Chris Renshaw c6ccb4fa4e Backend: add /dev/random workaround for recovery
- per Chainfire, "fix slow RNG on some devices, which may cause installation to take weeks"
- it seems like this issue may have been triggered now in recovery on some devices by some of the changes from the new mounting rewrite
2019-08-27 13:37:49 -03:00
Chris Renshaw abc56fc3f4 README: add note about including new LICENSE file in zips 2019-08-21 22:56:27 -03:00
osm0sis 9763d0d757 LICENSE: slight clarifications and touch-ups 2019-08-20 13:11:25 -03:00
osm0sis 6332a27ca6 add LICENSE and compliance notices for binary redistribution 2019-08-19 16:20:27 -03:00
osm0sis a88936cd00 Backend: rewrite mount logic to properly cover all cases
- use $ANDROID_ROOT variable which in TWRP is set to /system_root on properly set up SAR devices and default set it to /system
- continue to correct any issues with /system and /system_root mountpoints but backup and restore any symlinks encountered
- only mount and umount /data when it is not mounted to begin with to fix MTP issues in TWRP on some devices (thanks @Zackptg5)
- refactor tear down into restore_env() function to allow restoring original recovery environment even after abort
- add lazy umounts because let's be thorough
- remove hacky workaround to avoid /system_root umount when booted since that should be handled by flashing app now
2019-08-17 22:50:48 -03:00
Chris Renshaw e2987e3947 Backend: mask error on TWRP devices without /system_root in fstab 2019-08-13 20:36:00 -03:00
Chris Renshaw ff4f310e3a Backend: support TWRP devices with /system_root in fstab 2019-08-13 09:16:34 -03:00
osm0sis 01db339f65 Backend: mounting fixes, simplify ui_printing from files
- rename unmount_all to umount_all since it's been bugging me for a while ;)
- refactor mountpoint setup into its own function
- try mount --move first since /system should already be mounted (thanks @Zackptg5)
- refactor reused script to ui_print from files into its own function
2019-08-12 23:40:53 -03:00
Chris Renshaw 4f722f3d67 Backend: fix derp 2019-08-07 00:31:31 -03:00
osm0sis 97889f80ba README: cosmetic changes to match xda thread 2019-08-06 20:11:19 -03:00
osm0sis 146c834d0f Backend: ensure /system_root umount even if /system is a symlink 2019-08-06 20:10:53 -03:00
osm0sis 950b68a1d7 Backend: attempt to fix system_root setup on oddball device recoveries
- TWRP for some devices has /system as a symlink, some do not; apparently some weird devices have /system_root as a symlink (somehow); attempt to fix them all
2019-08-06 19:12:00 -03:00
osm0sis 0e3b7304e6 AK3: fix partition detection taking first match on older devices
- `test -e` could fail due to unexpanded *'s in $target
2019-08-06 18:53:08 -03:00
osm0sis f3f80014cc AK3+Backend: fix multi-line abort outputs 2019-08-04 01:16:54 -03:00
osm0sis 958b2c873a AK3: reset_ak: don't remove $ramdisk unless has already been unpacked
- running reset_ak before an unpack would remove any included ramdisk files from zip, so only remove if $split_img is detected suggesting an unpack has already occurred
2019-07-20 23:12:51 -03:00
osm0sis f1494f366d README: update for set_perm and set_perm_recursive 2019-07-20 21:12:49 -03:00
osm0sis 96f961b239 Example: update to use set_perm_recursive
DO NOT MERGE if you have already updated your ramdisk properly for your device
2019-07-20 21:10:37 -03:00
osm0sis 84d9032606 AK3: add file/directory attributes functions
- from my "Complete Shell Script Flashable Zip Replacement" reference thread: https://forum.xda-developers.com/android/software-hacking/dev-complete-shell-script-flashable-zip-t2934449
2019-07-20 20:50:50 -03:00
osm0sis 559a6082e8 Backend: remember we needs them busybox awks 2019-07-20 18:43:02 -03:00
osm0sis 0bd7ab9deb README: document supported.patchlevels 2019-07-20 18:36:13 -03:00
osm0sis 3b554e8bc5 anykernel: add supported.patchlevels 2019-07-20 18:23:48 -03:00
osm0sis e4a907b745 Backend: introduce Android security patch level check, cleanups
- checks the supported.patchlevels prop in anykernel.sh and matches against it to prevent users flashing incorrect kernels for patch levels
- this is possibly more important than supported.versions now since modern Android doesn't really do point releases anymore, so a patch level is more likely to signify breakage than a version change
- supported.patchlevels can be a closed or open-ended range of dates in the format YYYY-MM, e.g. "2019-04 - 2019-06", "2019-04 -" or "- 2019-06" where the last two examples show setting a minimum and maximum, respectively
- clean up device and version checks a bit while we're at it
2019-07-20 18:21:55 -03:00
Chris Renshaw bb013da815 README: add caveat about slots + modules
- this is a limitation which will need a serious restructuring of the back end and how modules are handled to be resolved properly
2019-07-15 14:00:31 -03:00
osm0sis c2d3d2513b Backend: speed up and simplify is_mounted use 2019-07-12 21:07:16 -03:00
osm0sis 823e8a6cfa README: update for optional arch detect 2019-07-12 20:18:52 -03:00
osm0sis 6872cf5977 AK3: add simple arch detect to optionally support arm + x86 in same zip
- for use with broad zips targetting many devices including different architectures
- enable support by putting current tools binary contents in tools/arm and adding tools/x86

(thanks @Zackptg5 for the nudge)
2019-07-01 17:46:34 -03:00
osm0sis d3363b7dcb tools: update magisk utils to v19.4-05658caf(19305) canary 2019-06-30 23:56:41 -03:00
wloot db390aaafe Backend: use recovery umount for /vendor
* It is a *HACK*
* Avoid "Mount /cust (Device or resource busy) failed" error on orangefox which
  mounting /cust as /vendor and also runing a non-treble ROM.
* It is a Orangefox feature that mount both /vendor and /cust while runing a
  non-treble ROM (Obviously, there is a BUG that it shouldnt mount both but /cust
  only), so both of them have a same block. In this case, normal busybox unmount
  will only un-mount what we inputted. I guess that orangefox hacked umount command
  to make /cust is binding with /vendor.

(See comments in #41)

Signed-off-by: wloot <wlootlxt123@gmail.com>
2019-06-26 17:22:15 -03:00
wloot a7af28e25b Backend: fix getting parent directory on some devices
/tmp/updater: line 33: cd: /tmp/anykernel/..: No such file or directory

Closes #41
2019-06-26 17:16:06 -03:00
osm0sis 46614b2f84 tools: update magisk utils to v19.4-1058aeb0(19302) canary 2019-06-24 12:31:49 -03:00
osm0sis 4e403f12e5 AK3: better living through sed
- clean up magiskboot compression type output parsing
2019-06-17 23:01:04 -03:00
osm0sis 3685456911 AK3: fix support for forced uncompressed cpio ramdisk repacks
- resolves https://github.com/osm0sis/AnyKernel3/commit/698682123053cab9e3277c9c9df783a97b3e8958 "IMPORTANT NOTE" 1
2019-06-15 21:27:44 -03:00
osm0sis 6b8b178c12 tools: update magiskboot to v19.4-ee407472(19301)
- resolves https://github.com/osm0sis/AnyKernel3/commit/698682123053cab9e3277c9c9df783a97b3e8958 "IMPORTANT NOTE" 2, and allows 1 to be supported (via script change in subsequent commit)
2019-06-15 21:27:10 -03:00
osm0sis a82b99ce24 README: update to emphasize final kernel build product shouldn't be renamed 2019-06-12 22:35:05 -03:00
osm0sis 9f9182ecda Example: remove more things confusing to new adopters
- remove zImage since people were still thinking they needed to rename their kernel build product to zImage to have it work, while actually all filenames are detected and supported automatically, whether it's called zImage, zImage-dtb, Image.gz, Image.gz-dtb, Image.lz4-dtb, whatever (https://github.com/osm0sis/AnyKernel3/blob/7ccf4d62cede0527b7d895a8255f18b9b56046cc/tools/ak3-core.sh#L228); in fact it's extra important it be named correctly now with AK3 using magiskboot so that any appended *-dtb is supported correctly and doesn't get appended multiple times in subsequent flashes
- remove pointless patch file examples
- add unified tuna variant name just because I feel like it since it's otherwise not a working example anymore

DO NOT MERGE if you have already updated your ramdisk/anykernel.sh properly for your device
2019-06-12 22:34:23 -03:00
Chris Renshaw 7ccf4d62ce AK3: fix signing derp
Thanks @Zackptg5

Closes #40
2019-06-12 16:52:29 -03:00