Fixes broken shell prompt in Terminal and adb shell
Before: https://del.dog/7vphlkc
After: https://del.dog/vhkjgo8
Add as prebuilt with suffix "_twrp" to avoid conflict
with original mkshrc and rename via POST_INSTALL_CMD
Prebuilt version adjusts TMPDIR variable from
"/data/local/tmp" to "/tmp" for TWRP
Change-Id: I42a1b2a8c114f66dbe659c07485f1dfae8a5d314
This will add another path where looking for ats_* files
This is needed on some devices like OnePlus 6/6T
Change-Id: I9ac7cdd05ddc80f3e269efda96be2b7712d68af0
* build modified vdc_pie binary with 'checkpw' command support
if building with Android 9.0 platform. That command and others
we don't care about, are removed from Pie vdc. Our vdc_pie will
run if system sdk version is > 27, otherwise system vdc is used.
Code adapted from Android 9.0 system/vold/vdc.
* include prebuilt vdc_pie(arm, arm64) binary if building with lower
than Android 9.0 platform - vdc_pie cannot be build from source
with those platforms without additional imports from Android 9.0
* skip vdc "getpwtype" command for Pie - vds communicates with vold
directly, no need for connection retries first
* add /system/bin/servicemanager to required services
* mount per-devive additional partitions needed for decryption
listed with device BoardConfig.mk TW_CRYPTO_SYSTEM_VOLD_MOUNT
flag like(space separated):
TW_CRYPTO_SYSTEM_VOLD_MOUNT := vendor cust odm
* add function to backup crypto footer before running vdc commands
and restore it after - on Xiaomi Mi Max 3 both Oreo and Pie stock
roms vold alters cripto footer when decrypting data in recovery
which causes system to ask for crypto password at next reboot
although password stays unchanged. Crypto footer backup/restore
added as workaround for systems whit ro.build.version.sdk > 25.
Also to preserve crypto footer integrity decryption attempts are
skipped if footer backup fails to ensure no data loss.
Code adapted from
https://gerrit.omnirom.org/#/c/android_bootable_recovery/+/31206/
Change-Id: I0a383f3843578fa55595cfea3b7c9c4431646a1a
-switch to full screen when user is not suppose to do
anything but wait for current operation to finish
Change-Id: Ib54afc380a5cfe70e011e782cf3d7fe4c80958a4
This reverts commit 1ccdefab79.
Reason for revert: Causes delay during boot resulting in failed decryption on FDE devices. Recommend having device maintainers specify this variable manually in rc file and include actual ld.config.txt (or placeholder) in ramdisk directly.
Change-Id: Ib2410675396b38522d690c6057057d164cc0cff2
Currently when building for SDK 27 with TW_USE_TOOLBOX,
no getprop symlink is produced. This minor change creates
a symlink for getprop on SDK 27.
Change-Id: I71bd3e0d0525bd0ae51634f52a5749ba0ff58444
Fix rules for adf graphics to detect their presence when ninja
make files are used.
Change pixelflinger graphics mode so that colors display properly
on the Pixel 3
Change-Id: Ie7181be6c5e1e9a007b58fd798b2cef787ce4a01
external/libdrm was fully converted to Android.bp on Pie, causing
the wildcard to match nothing, even though libdrm is present in
the build tree. Change it to cover both build files.
Change-Id: I4b092b29ac021cc1aa3bcf7346b225b79fd99f4b
This type of vibrator is found on newer kernel versions (4.9+) and
registers with LED class framework (located at /sys/class/leds/vibrator).
Change-Id: I85e93fdac17b3f4b6f2ae689bbbd490806b5c29b
Respect TARGET_RECOVERY_PIXEL_FORMAT config in screenshot, graphics.
This fixes other wrong theme color in minuitwrp on Xiaomi MIX 2S.
Change-Id: Ieb8480c411e2f0c72cc50ffca66943ab025e2b7e
Rather than using hard-coded system, use ANDROID_ROOT
environment variable to allow AB devices to mount
system_root at a custom path. This allows the /system
path to be bind mounted from $ANDROID_ROOT/system
so that the vold_decrypt paths can remain unchanged.
Change-Id: I9a7b13385e43f169f1df4c75b2a003fc6913952c
* Following error while running mke2fs in TWRP compiled in 8.1+ tree:
libc: CANNOT LINK EXECUTABLE "mke2fs": library "libext2_misc.so" not found
Change-Id: I786f325229167dbd0d1d5f2a1ea95e9fe15a227e
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
On some devices (e.g. ASUS Zenfone) the serial number of the device
is stored in a file in the /factory partition. Consequently, the only
way to load it is using a user space application during the init
process, and to update the ro.serialno system property.
In most places, TWRP already uses the system property to get the
serial number of the device. However, when generating the device ID
used for the backup folder name it checks the boot command line
directly. On these devices, the serialno is not included on the
command line.
Add a TW_USE_SERIALNO_PROPERTY_FOR_DEVICE_ID option that enables
usage of ro.serialno for generating the device id. It is disabled
by default to avoid changing the device id on existing ports.
Change-Id: I4a2eeca883f38fdaeb1209507fd8ebe44b1b04a0
Building in 9.0 may require you to add a flag to your twrp fstab
with the fileencryption details like:
fileencryption=ice:aes-256-heh
Verify this against your device's stock fstab of course.
Change-Id: If9286f5d5787280814daca9fbc8f5191ff26a839
instead of hard-coded /system path
I updated most of the references I found,
but there might be more
For devices that have to mount system at /system_root,
this allows system to be bind mounted to /system
and detected properly by TWRP
Change-Id: I9f142fd8cec392f5b88e95476258dab9c21a9aac
all (well I just checked LOS, aoscp and aicp) ROM scripts use
"md5sum" as extension but TWRP checks only for the extension
"md5".
This change will also expects md5sum as the default digest extension
and only if not found falling back to md5.
Change-Id: Ia1dd072d77d53ed6c6ff13c6db730abdcdb56bb3