Commit Graph
135 Commits
Author SHA1 Message Date
osm0sis 8588147d67 Backend: fix byname finding on modern Android versions for devices without super
- /dev/block/mapper exists on all devices with apex but only contains system partition symlinks on devices with super partition logical partitions
2023-04-05 23:19:05 -03:00
osm0sis 7a3e6df8ca Backend: fix showing ui_printfile padding char in error when booted 2023-03-23 17:05:57 -03:00
osm0sis 7c8c1e7e9b Backend: fix ui_printfile on Lineage-based recoveries
- add padding character to work around bad handling of leading whitespace which CWM-based and TWRP-based both handle fine
2023-03-16 17:10:24 -03:00
osm0sis 398b9631df Backend: correct build.prop locations for getprop replacement
- system_ext and odm only have build.prop in /<partition>/etc
- product may have build.prop in /product and/or /product/etc
2023-02-08 12:56:54 -04:00
osm0sis c2e33f95d1 AK3+Backend: support AMLogic devices where A-only sets slot=normal 2023-02-08 12:53:48 -04:00
osm0sis e49ea0be95 Backend: don't unmount any existing apex at start of flash 2023-01-08 14:03:30 -04:00
osm0sis e4e0c0eecb Backend: add useful mount debugging stderr for logs 2023-01-05 23:30:47 -04:00
osm0sis c713211a84 Backend: pass ZIPFILE name into AK3 core env 2022-11-11 08:10:07 -04: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 1edb7e9f39 Backend: fix devicecheck now that we can't abuse file_getprop with .* 2021-12-11 00:15:34 -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
osm0sis d432fd5721 Backend: support Android 12 .capex (compressed apex) files 2021-11-18 15:58:06 -04: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
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 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 5035d6b7cb AK3+Backend: fix systemless modules on multi-partition setups 2021-06-08 17:00:03 -03:00
osm0sis 0ec87a86b7 Backend: update apex mounting support for Android 11 2021-03-30 02:28:43 -03:00
osm0sis a1d0b70305 Backend: one more umount_all() touch-up 2021-02-02 23:06:59 -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 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 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 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 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 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 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