Commit Graph
100 Commits
Author SHA1 Message Date
Chris Renshaw 9758c926da README: update for lptools 2022-05-05 22:01:52 -03:00
osm0sis 4ebf8e538c Backend: add id to helper module.prop so 3rd party mgr apps are happy 2022-04-28 23:36:54 -03:00
osm0sis adb09dcc81 AK3: ensure no template files from beginner devs get to the ramdisk 2022-04-23 18:47:35 -03:00
osm0sis 97d2d7ffd5 AK3: also ensure $comp fallback is a working command for ramdisks 2022-04-10 22:30:19 -03:00
osm0sis c19c5be18c AK3: fix unpack/repack with magiskboot zimage kernel support
- exclude "zimage" as a compression type since magiskboot unpack, split and repack handle it automatically and there is no fallback
- ensure $comp is a working command for all busybox compression fallbacks
2022-04-03 09:19:15 -03:00
osm0sis 991bb673a7 tools: update magisk utils to v24.3(24300) stable 2022-03-10 19:17:40 -04:00
Chris Renshaw 743bb44ed1 AK3: add support for new upstream AOSP init_boot partition
https://android-review.googlesource.com/c/platform/build/+/1882268
2022-03-04 13:45:59 -04:00
osm0sis 446ad5d85d tools: update magisk utils to v24.2(24200) beta 2022-03-02 09:00:45 -04:00
osm0sis af9b68cd4c tools: update magisk utils to v24.1(24100) stable 2022-01-28 22:50:58 -04:00
Chris Renshaw 42e9c3a9a9 README: document patch_vbmeta_flag feature 2021-12-17 14:16:53 -04:00
osm0sis 19cf85643b Example: change commented vendor_boot setup to patch_vbmeta_flag
DO NOT MERGE if you have already updated your ramdisk properly for your device
2021-12-15 20:31:48 -04:00
osm0sis d7d7aebf7a anykernel: change keep_vbmeta_flag -> patch_vbmeta_flag 2021-12-15 20:29:04 -04:00
osm0sis fb5fbb1516 AK3: update KEEPVBMETAFLAG -> PATCHVBMETAFLAG for Canary 23016+ 2021-12-15 20:20:27 -04:00
osm0sis 1edb7e9f39 Backend: fix devicecheck now that we can't abuse file_getprop with .* 2021-12-11 00:15:34 -04:00
osm0sis 12baa2739a AK3: better backwards compatibility for keep_vbmeta_flag (unset=auto) 2021-12-11 00:12:14 -04:00
osm0sis 78f08d471e Example: add commented keep_vbmeta_flag to vendor_boot setup 2021-12-10 23:32:14 -04:00
osm0sis f7490f764c anykernel: add keep_vbmeta_flag 2021-12-10 23:31:05 -04:00
osm0sis 6e7fcd6d28 AK3: add magiskboot KEEPVBMETAFLAG support
- some devices fail to boot when magiskboot changes the vbmeta flag is set in the AVBv2 signature from 00 to 03, this allows disabling that behavior
- set keep_vbmeta_flag=1 in anykernel.sh to force it to keep whatever's there, =auto will take it from the existing image if Magisk-patched (Canary 23016 or later), and =0 will allow the default magiskboot behavior
2021-12-10 23:30:24 -04:00
osm0sis 66f42c1951 AK3+Backend: grep cleanups
- fix duplicate kernel version (vertmp) entries from some kernels
- don't use head when grep -m1 will suffice
- fix some (bad) OEM prop files including entries twice, use last entry like live system
2021-12-10 17:34:54 -04:00
Chris Renshaw 08a76000ad AK3: unbreak anykernel scripts using flash_dtbo directly 2021-12-06 13:45:16 -04:00
Chris Renshaw 4950e80ca2 README: update remaining flash_dtbo references 2021-12-06 13:29:02 -04:00
Chris Renshaw 89c8c54f4a README: update for flash_generic and vendor_dlkm 2021-12-06 10:58:38 -04:00
osm0sis 297d6c3b99 AK3: add flash_generic to reduce code duplication 2021-12-06 10:04:54 -04:00
osm0sis a312a2bdc9 tools: update magisk utils to e097c097(23015+) CI
- adds partial hdr v4 support (cannot currently unpack vendor_boot v4 multi-ramdisk or bootconfig)
- use upstream CI build since it includes an AVBv2 signature padding fix, resolving all known regressions

Closes #61
2021-12-06 08:07:42 -04:00
Chris Renshaw ae28b9dc92 Increment AK_BASE_VERSION for latest changes 2021-12-05 03:15:25 -04:00
osm0sis d432fd5721 Backend: support Android 12 .capex (compressed apex) files 2021-11-18 15:58:06 -04:00
Chris Renshaw 20ad14111f Create FUNDING.yml 2021-10-31 16:33:57 -03:00
osm0sis d5572891d9 Backend: fix apex mounts on fastboot boot'd TWRP
- work around different /apex environment causing loop mounts to fail on TWRP only when it's initiated by `fastboot boot twrp.img`
2021-10-18 11:43:01 -03:00
osm0sis 049180b3cd Backend: update apex support
- support unmounting TWRP's mounted apex files to avoid conflicts
- hide less apex u/mount stderr to aid future debugging
2021-10-16 14:54:06 -03:00
Chris Renshaw 74be8b014f README: update thread links for XenForo xda 2021-10-06 16:00:47 -03:00
osm0sis 52aec65a1b Backend: use stderr for consistency with other debug output 2021-10-04 22:34:26 -03:00
osm0sis 42611f420b Backend: adjust AK_BASE_VERSION placement in output 2021-10-03 14:53:40 -03:00
osm0sis 446d3caeef tools: update to latest busybox (1.34.1)
Compiled from my own updated fork:
https://github.com/osm0sis/android-busybox-ndk
2021-10-03 14:48:15 -03:00
osm0sis b32e4ceb6e Backend: fix module installation if apex mounts fail 2021-10-02 00:36:20 -03:00
osm0sis fc43a2a1a9 Backend: print AK_BASE_VERSION to stdout in script output 2021-10-01 19:20:43 -03:00
osm0sis f88f90e3d2 Backend: underps and regression fixes
- fallback by-name system mount may still result in /system at /system_root so add back check
- add missing /persist mountpoint
2021-09-15 00:02:22 -03:00
osm0sis 84caeb46e5 Backend: more partition mount fixes
- attempt to mount other partitions whether determined as /system or /system_root
- /system_root by that point if mounted will actually be /system_root so no need for further checks
- add missing /system_ext entries to custom getprop and cleanup functions
2021-09-14 17:10:11 -03:00
osm0sis 4dfc45a6b2 Backend: check before mounts, fix persist mount on Virtual A/B 2021-09-11 00:05:52 -03:00
osm0sis d705b13c45 Backend: mount cleanups and add system_ext support 2021-09-10 00:21:03 -03:00
osm0sis 216eefce20 AK3: fix new .img backup in debugging tgz, multipartition output tweak 2021-07-21 01:49:27 -03:00
osm0sis 6ae1c8e6c6 Backend: add base version code for easier debugging
- simplify checking if a dev is being lazy to expedite the appropriate public shaming
2021-07-14 07:39:39 -03:00
osm0sis e4e2ee1438 README: clarify we have support for AVBv1 2021-07-13 18:15:14 -03:00
osm0sis 3cfdc71d10 AK3: fix systemless modules on single-partition setups 2021-06-09 00:21:21 -03:00
osm0sis 30500960ec README: update for simple vendor_boot support 2021-06-08 19:24:50 -03:00
osm0sis 5035d6b7cb AK3+Backend: fix systemless modules on multi-partition setups 2021-06-08 17:00:03 -03:00
osm0sis 484ea072a8 AK3: hide expected potential simple vendor_boot support stderr 2021-06-08 16:54:47 -03:00
osm0sis beff4d4596 AK3: ensure dtbo does not get flashed twice in multi-partition setups 2021-06-08 16:24:20 -03:00
osm0sis 92f9828619 AK3: add vendor_ramdisk support to simple vendor_boot support
- use vendor_ramdisk and vendor_patch directories in zip root to specify changes for vendor_boot flash
2021-06-08 16:16:16 -03:00
osm0sis 7a71dde053 Example: add commented vendor_boot setup for reference
DO NOT MERGE if you have already updated your ramdisk properly for your device
2021-06-08 01:17:17 -03:00
osm0sis 33a7548716 README: update for vendor_boot partition detection 2021-06-08 01:15:16 -03:00
osm0sis 83ff0c07a7 AK3: add support for simple vendor_boot dtb replacement
- boot_img_hdr_v3 now has dtb stored in a new partition called vendor_boot
- allow block=vendor_boot partition detection
- 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 assumed to be for the boot partition)
- fix reset_ak current files cleanup
2021-06-08 01:14:03 -03:00
osm0sis 37782872f6 tools: update magisk utils to v23.0(23000) stable 2021-05-12 23:03:10 -03:00
osm0sis b55338ac61 tools: update magisk utils to v22.1(22100) stable 2021-05-09 14:52:11 -03:00
osm0sis 9bd0ed8b73 tools: update to latest busybox (1.33.1)
Compiled from my own updated fork:
https://github.com/osm0sis/android-busybox-ndk
2021-05-09 01:40:53 -03:00
osm0sis 4904913295 AK3: fix unpackbootimg/unpackelf suffixes, fix elf to bootimg repack
- unpackbootimg/unpackelf kernel+ramdisk suffixes were corrected to match their corresponding mkbootimg argument in my latest forked tools (AIK-mobile v3.8)
- fix repack from unpackelf to mkbootimg broken base value introduced with AK3 rewrite
2021-05-03 00:20:08 -03:00
osm0sis 31a3fff8fb tools: update to latest busybox (1.32.1)
Compiled from my own updated fork:
https://github.com/osm0sis/android-busybox-ndk
2021-03-31 19:25:03 -03:00
osm0sis 0ec87a86b7 Backend: update apex mounting support for Android 11 2021-03-30 02:28:43 -03:00
osm0sis a6b80592a6 tools: update magisk utils to v22.0(22000) stable 2021-02-23 22:16:03 -04:00
osm0sis a1d0b70305 Backend: one more umount_all() touch-up 2021-02-02 23:06:59 -04:00
osm0sis 3159b91e67 README: document replace_line and remove_line global scope 2021-01-28 17:32:41 -04:00
osm0sis 8df26b0389 AK3+Backend: cleanups, update *_line functions
- touch up a couple pesky minor things
- add global scope to replace_line and remove_line so they match replace_string, and can now work on all matches found in a file
2021-01-28 17:31:33 -04:00
osm0sis d1fd1eb013 README: document no_block_display=1 2021-01-20 15:04:12 -04:00
osm0sis 630f926617 AK3: clean up old style tic 2021-01-20 15:02:52 -04:00
osm0sis 02329ba5a5 Backend: add /product and /persist support 2021-01-18 16:08:36 -04:00
osm0sis 376be8cd93 Backend: clean up old style tic 2021-01-18 15:46:41 -04:00
osm0sis 2098b0f030 tools: update magisk utils to v21.4(21400) stable 2021-01-18 15:25:41 -04:00
osm0sis 25d89a6123 Backend: fix apex unmounting during addon.d-v2 2021-01-14 14:17:01 -04:00
osm0sis 1991a6a6a6 Backend: slot detection and mounting fixes
- remove unnecessary slot swapping since this is already handled with $POSTINSTALL and FlashAfterUpdate addon.d-v2's setup
- add cache mounting into main functions
- rename slot function to bring in line with my other projects
2021-01-14 01:31:14 -04:00
osm0sis 3d3e21af86 tools: update magisk utils to v21.2(21200) stable 2021-01-14 00:22:50 -04:00
osm0sis 9cdec62256 Backend: mounting improvements
- don't rely on props if possible: determine dynamic/logical partitions from /dev/block/mapper presence, and detect slots more robustly using props and cmdline as in AK3 Core
- fix opposite slot detection for pushing modules to system and/or vendor during addon.d-v2
2021-01-13 23:53:52 -04:00
osm0sis 4006d35666 Backend: support mounting dynamic partitions from /dev/block/mapper 2021-01-11 23:48:21 -04:00
osm0sis 51ed927b59 Backend: do apex mounts before /system bind to ensure a working env 2021-01-11 17:07:44 -04:00
osm0sis 8cf89c43ea Backend: fix sloppy/unpredictable cmd && this || that statements
- be a bit more POSIX to avoid any potential issues when stdout/err are redirected
2020-11-27 23:48:47 -04:00
osm0sis 4731595e88 AK3: unlock blocks before flash to handle post-incremental-OTA cases 2020-11-27 18:02:22 -04:00
osm0sis c137cbf93d AK3: allow hiding block display for zips with custom output 2020-05-30 11:35:41 -03:00
osm0sis ca8c67935d README: update boot_signer-dexed.jar naming 2020-05-24 06:37:35 -03:00
osm0sis 0fb788ed61 LICENSE: update boot_signer-dexed.jar naming 2020-05-24 06:37:23 -03:00
osm0sis 7f82f21de9 AK3: update for latest optional binaries
- fix naming BootSignature_Android.jar -> boot_signer-dexed.jar for my own builds (see https://issuetracker.google.com/issues/143810860)
- correct unpackbootimg/unpackelf suffixes which now correspond to their matching mkbootimg argument
2020-05-24 06:36:59 -03:00
osm0sis 53ce3e4073 Backend: add logical partition block mapper rw support
Thanks LuK1337 & erfanoabdi @ Lineage
2020-05-12 18:10:48 -03:00
osm0sis b3767d1978 Backend: try to preserve a working /etc/fstab on AOSP Q-based recovery 2020-05-12 18:02:30 -03:00
osm0sis 2d5bba8584 AK3: show final detected target slot/partition 2020-04-23 20:13:40 -03:00
osm0sis d9c8bb7c70 tools: update magisk utils to v20.4(20400) beta 2020-03-24 04:37:57 -03:00
osm0sis c92c8c6972 Backend: don't do remounts for pushing modules in addon.d-v2 2020-02-18 12:48:52 -04:00
osm0sis 3f6d112472 AK3+Backend: fix truncated recovery.log with FlashAfterUpdate 2020-02-14 14:05:09 -04:00
osm0sis 273384db04 Backend: fixes for booted flashing and addon.d-v2
- only do setup_env and restore_env when in recovery to prevent environment/mount issues post-install
- use busybox [ for simple integer test to ensure known numerical operator behavior
2020-02-14 13:33:41 -04:00
osm0sis 5bec49dc98 Backend: simplify heredoc usage 2020-02-08 20:16:30 -04:00
osm0sis dfcfb87e6e Backend: support for upcoming recovery addon.d-v2
- for FlashAfterUpdate addon.d-v2 support while in recovery
- recovery addon.d-v2 requires /system and /system_root stay mounted
2020-02-04 16:09:00 -04:00
osm0sis 6bc4d96d3d Backend: add additional BOOTCLASSPATH entry for /apex mounts 2020-02-03 19:59:01 -04:00
osm0sis 3e5c6ba739 Backend: fix /system/bin/* execution on recoveries using LD_CONFIG_FILE 2020-02-03 17:07:08 -04:00
osm0sis ccb19a8337 tools: update magisk utils to v20.4-ed58cf95(20304) canary
- fix lzop detection use-case of magiskboot decompress which was broken in the generic stream refactor
2020-02-03 13:30:13 -04:00
osm0sis e666adc66f AK3+Backend: mount and output fixes
- fix case where TWRP has /system_root mountpoint but ROM is non-SAR
- fix regression in ui_print when final character is \
2020-01-31 20:11:52 -04:00
osm0sis ebd2b04b2c Backend: work around some Lineage 17 (AOSP Q) Recovery issues
- Lineage 17 Recovery has some problems currently: /system mountpoint in ramdisk, neither /system nor /system_root in fstab (it has / instead, which is useless), ANDROID_ROOT=/system, and no /system_root symlink
- /etc is linked to /system/etc so once /system is mounted /etc/fstab is gone and no further simple mount commands will work so move other mounts before /system
- /system/bin are the only utilities available on PATH with none at all in /sbin so we need /apex files mounted immediately or no non-busybox commands will work after mounting /system over the recovery's skeleton /system
- not all devices have /dev/block/bootdevice symlinks, but at some point "broken recovery is broken" has to apply, so I don't intend to build out full system partition discovery for the SAR mount fallback
2020-01-29 14:24:41 -04:00
osm0sis c35c7ce358 AK3+Backend: /postinstall and opposite slot awareness for FlashAfterUpdate addon.d-v2 support
- for A/B OTAs my FlashAfterUpdate addon.d script requires the zip to know about addon.d-v2 and act accordingly
- signify support with #FLASHAFTERUPDATEV2 tag in updater-script to pass whitelist check since the majority of zips will not work correctly
2020-01-27 16:25:21 -04:00
osm0sis 03af96a541 Backend: fixes for mounting system on Lineage Recovery
- Lineage has a mindboggling: /system_root as mountpoint in ramdisk, neither /system nor /system_root in fstab (it has / instead, which is useless), ANDROID_ROOT=/system, and a possible symlink from /system to /system_root/system
- this failure to have a sensible, working fstab triggers the fallback to mounting directly from /dev/block/bootdevice which should exist on all modern devices which would need this SAR fallback
- add basic slot support for the fallback mount, since Lineage Recovery also doesn't make symlinks to the active slot partitions
2020-01-27 15:28:11 -04:00
osm0sis b772cca3ac Backend: put debugging down where it belongs too 2020-01-26 10:34:27 -04:00
osm0sis 062b44c75a Backend: work around ongoing TWRP SAR support fragmentation
TWRP now has 3(!) different competing implementations of SAR currently in use by maintainers:
1) /system as mountpoint in ramdisk/fstab and ANDROID_ROOT=/system, and possible symlink from /system_root to /system
2) /system_root as mountpoint in ramdisk/fstab, ANDROID_ROOT=/system_root, and possible symlink from /system to /system_root/system
3) /system_root as mountpoint in ramdisk/fstab, ANDROID_ROOT=/system, and possible symlink from /system to /system_root/system

Attempt to continue to accommodate this bullshit.
2020-01-24 14:54:39 -04:00
osm0sis be5c08b520 Backend: overdue clean up and refactor
- move checks to functions to isolate single-use variables as local
- signify globally available variables with capitalization
- move setup and mount to functions to mirror umount_all and restore_env
- cluster functions by use order (no call should preceed its function)
- use short circuit return tests to reduce indentation now that we use functions
2020-01-24 09:51:34 -04:00
osm0sis 7fb9efdb63 Backend: fix link restoration post-install 2020-01-21 06:16:45 -04:00
osm0sis 29210bc492 README: document do.systemless, update and sync with XDA thread 2020-01-18 07:28:10 -04:00
osm0sis 13dd1067a3 anykernel: add do.systemless 2020-01-18 07:22:09 -04:00