This allows flame to boot TWRP. Still will need to work on
super partition for vendor and system access.
The plan will be to cherry-pick any updates to android-9.0
through gerrit.twrp.me to this branch as a WIP.
* Some devices like lavender, etc. getting failed to decrypt
Change-Id: I63ca05c4f87cdd17d48d4541a5a8121c736beb02
Signed-off-by: Mohd Faraz <androiabledroid@gmail.com>
In A/B, the device check isn´t done by the updater script, but using
metadata for it.
Let´s search if the device codename/assert is included in the string.
Change-Id: Ie856ac699aaa83de2b364bc85a510a037d36edf9
Signed-off-by: Hernán Castañón <herna@paranoidandroid.co>
* All missing strings added (ref: en.xml).
* Many strings clarified and ambiguity removed.
* Inconsistent use of language reconciled.
* XML validated by xmllint(1).
* String length validated on device (G975F).
Change-Id: I4a4c3dc5a1147a62b8c141286fc7ac432678a322
* We may use a custom offset to:
a) preserve data that oem wrote to the first bytes of misc
b) skip recovery flags written by the bootloader (e.g. --wipe_data)
For case a) one should set the offset 'x' to be at least greater than
the size of bootloader_message struct (2048 bytes). If this is the case,
then we zero out bytes x ~ x + 2047
For case b) one should set the offset to be strictly smaller than
the size of bootloader_message struct. If this is the case, then we
zero out bytes 0 ~ 2047.
This allows to clear any additional flag set by the bootloader,
that would otherwise be forgotten in misc.
This also guarantees that we do not involountarily wipe any data that
the oem may have written starting at byte 2048 (coff coff LG)
Change-Id: I2d4e0702a2d8cbbef6274a87ce9499b0f69310dd
* bootloader_message.cpp is the only file using
BOOTLOADER_MESSAGE_OFFSET_IN_MISC and WIPE_PACKAGE_OFFSET_IN_MISC,
so we can move their definitions to the cpp.
This prevents the need to set BOARD_RECOVERY_BLDRMSG_OFFSET
in every module that includes the header.
* Global cflags are no longer supported Oreo and up,
so set the BOARD_RECOVERY_BLDRMSG_OFFSET via make variable
* Simplify logic, always set BOARD_RECOVERY_BLDRMSG_OFFSET.
Change-Id: I2b902bcce7f5ca13472e0ac30ac01b4991294dbe
/sbin must come before any other search path when TWRP is built for a
different version of Android than the one on which it will run.
Otherwise, as soon as any of the other paths becomes available via
direct action (i.e. the user mounts a file-system) or indirect action
(e.g. the user flashes a zip that mounts a file-system), incompatible
libraries will be prioritised and loaded instead of the correct ones
from /sbin in TWRP's ramdisk.
This will cause severe disruption of the TWRP environment. Toybox and
other dynamically linked binaries will immediately cease to work; and
since Toybox provides umount, it typically won't be possible to recover
from this state without a reboot.
For example, the following occurs when a Toybox applet is run on a
Samsung Galaxy S10 running Android 10, but using a version of TWRP built
for Android 9:
android:/ # getprop ro.boot.bootloader
CANNOT LINK EXECUTABLE "getprop": cannot locate symbol "_system_properties_init" referenced by "/system_root/system/lib64/libselinux.so"...
linker: CANNOT LINK EXECUTABLE "getprop": cannot locate symbol "_system_properties_init" referenced by "/system_root/system/lib64/libselinux.so"...
Change-Id: I31fe612ebb1c7d9ad71d67be2c615caa3fbb5d6f
- Move commands from prebuilt to root Android.mk
- Hotfix for linker errors after https://git.io/JerWD merge
on some Samsung device(s)
Change-Id: If628ab486689878885b696c2f5a107987092aeba
* without this A/B devices are writing 8MB+ uncompressed logs under persist/cache/recovery which increase in size over time. This can eventually leave persist partition OOM causing other cascading issues like crashing the modem during boot and bootloops.
Change-Id: I0f3aab0eb96804d1be8de965eb2c2e9bb83d5b56
Co-authored-by: Erfan Abdi <erfangplus@gmail.com>
Signed-off-by: Andrew Hexen <SyberHexen@gmail.com>
- Fixes the ld.config.txt errors in recovery log which may prevent
decryption and shell commands from working properly
Change-Id: I0e057525cdda39e8ac10115d37e2cb882b9c4844
This update will use pigz to compress the log that TWRP stores
on persistent storage in order to help with storing logs on the
persist partition.
Change-Id: I16971b8b138b74a164b1b0835847177cfc6104e2
am: dd0158ac60 -s ours
am skip reason: change_id Ib9d5ed710cfa94ecfe6cf393a71a0b67b2539531 with SHA1 0bbb2ed53e is in history
Change-Id: I02a82fc0d026e06eadbadd6af0af85228ce2e044
We start minadbd and rescue services in two processes. In particular,
minadbd handles the requests from host, then communicates with rescue
service to do install/wipe works. When resuce service doesn't see any
request in a pre-defined timeout (currently 300s), rescue service will
exit to avoid endless waiting.
This CL changes minadbd to additionally send a no-op command to rescue
service as a heartbeat signal, so that host side can finish
time-consuming operations (e.g. downloading over network) while keeping
rescue service alive.
Bug: 136457446
Test: Enter resuce mode on blueline. Send `adb rescue getprop
ro.build.fingerprint` and check that rescue service doesn't exit.
Test: Stop sending the getprop command. Check that rescue service exits
after 300s.
Change-Id: Ib9d5ed710cfa94ecfe6cf393a71a0b67b2539531
Merged-In: Ib9d5ed710cfa94ecfe6cf393a71a0b67b2539531
(cherry picked from commit 2223e6a9f8)
(cherry picked from commit 0bbb2ed53e)
We start minadbd and rescue services in two processes. In particular,
minadbd handles the requests from host, then communicates with rescue
service to do install/wipe works. When resuce service doesn't see any
request in a pre-defined timeout (currently 300s), rescue service will
exit to avoid endless waiting.
This CL changes minadbd to additionally send a no-op command to rescue
service as a heartbeat signal, so that host side can finish
time-consuming operations (e.g. downloading over network) while keeping
rescue service alive.
Bug: 136457446
Test: Enter resuce mode on blueline. Send `adb rescue getprop
ro.build.fingerprint` and check that rescue service doesn't exit.
Test: Stop sending the getprop command. Check that rescue service exits
after 300s.
Change-Id: Ib9d5ed710cfa94ecfe6cf393a71a0b67b2539531
Merged-In: Ib9d5ed710cfa94ecfe6cf393a71a0b67b2539531
(cherry picked from commit 2223e6a9f8)