| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
Change-Id: I621cc47352f7ac552d9602485825ae3a6f9ae516
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This changes the verification code in bootable/recovery to use
BoringSSL instead of mincrypt.
Cherry-pick of 452df6d99c81c4eeee3d2c7b2171901e8b7bc54a, with
merge conflict resolution, extra logging in verifier.cpp, and
an increase in the hash chunk size from 4KiB to 1MiB.
Bug: http://b/28135231
Change-Id: I1ed7efd52223dd6f6a4629cad187cbc383d5aa84
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(cherry-pick from commit a4f701af93a5a739f34823cde0c493dfbc63537a)
- Add call to __android_log_pmsg_file_write for recovery logging.
- Add call to refresh pmsg if we reboot back into recovery and then
allow overwrite of those logs.
- Add a new one-time executable recovery-refresh that refreshes pmsg
in post-fs phase of init. We rely on pmsg eventually scrolling off
to age the content after recovery-persist has done its job.
- Add a new one-time executable recovery-persist that transfers from
pmsg to /data/misc/recovery/ directory if /cache is not mounted
in post-fs-data phase of init.
- Build and appropriately trigger the above two as required if
BOARD_CACHEIMAGE_PARTITION_SIZE is undefined.
- Add some simple unit tests
NB: Test failure is expected on systems that do not deliver either
the recovery-persist or recovery-refresh executables, e.g. systems
with /cache. Tests also require a timely reboot sequence of test
to truly verify, tests provide guidance on stderr to direct.
Bug: 27176738
Change-Id: I17bb95980234984f6b2087fd5941b0a3126b706b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The SwipeDetector class is used almost unchanged in all locations.
This patch moves it into the recovery module, from which devices can
reference it if required.
The class is now renamed to WearSwipeDetector.
Bug: 27407422
Change-Id: Ifd3c7069a287548b89b14ab5d6d2b90a298e0145
|
| |
| |
| |
| |
| |
| |
| | |
Bug: 26879394
Change-Id: I63dce5bc50c2e104129f1bcab7d3cad5682bf45d
(cherry picked from commit 53e7a0628f4acc95481f556ba51800df4a1de37d)
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
am: 9865c55254
* commit '9865c55254a1583e18a7e8ac502f2c2143ed8b82':
Refactor existing tests to use gtest
|
| | |
| | |
| | |
| | |
| | | |
Bug: 26962907
Change-Id: I5f80636af1740badeff7d08193f08e23f4e4fee1
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
update_verifier checks the integrity of the updated system and vendor
partitions on the first boot post an A/B OTA update. It marks the
current slot as having booted successfully if it passes the verification.
This CL doesn't perform any actual verification work which will be
addressed in follow-up CLs.
Bug: 26039641
Change-Id: Ia5504ed25b799b48b5886c2fc68073a360127f42
(cherry picked from commit 1171d3a12b13ca3f1d4301985cf068076e55ae26)
|
| | |
| | |
| | |
| | |
| | | |
Bug: 25951086
Change-Id: I31c74c735eb7a975b7f41fe2b2eff042e5699c0c
|
| |\ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
am: 1171d3a12b
* commit '1171d3a12b13ca3f1d4301985cf068076e55ae26':
Add update_verifier for A/B OTA update.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
update_verifier checks the integrity of the updated system and vendor
partitions on the first boot post an A/B OTA update. It marks the
current slot as having booted successfully if it passes the verification.
This CL doesn't perform any actual verification work which will be
addressed in follow-up CLs.
Bug: 26039641
Change-Id: Ia5504ed25b799b48b5886c2fc68073a360127f42
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
These are already getting libc++, so it isn't necessary. If any of the
other static libraries (such as adb) use new or delete from libc++,
there will be symbol collisions.
Change-Id: I55e43ec60006d3c2403122fa1174bde06f18e09f
(cherry picked from commit e49a9e527a51f43db792263bb60bfc91293848da)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And a few trival fixes to suppress warnings.
Change-Id: Id28e3581aaca4bda59826afa80c0c1cdfb0442fc
(cherry picked from commit 80e46e08de5f65702fa7f7cd3ef83f905d919bbc)
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
am: a412198699
* commit 'a4121986990d7dde7918252a96d87e4c3c11c13c':
recovery: Depend on mkfs.f2fs only if needed.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Don't build mkfs.f2fs unless device defines TARGET_USERIMAGES_USE_F2FS.
Change-Id: Ifac592c30315bbe7590c8fbf3a0844e6a7a31a1a
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I68770ad1a9e99caee292f8010cfd37dfea3acc64
|
| |\ \ \
| | | |/
| | |/|
| | | |
| | | | |
* commit '337db14f274fc73dd540aa71d2c21c431fe686ec':
recovery: Factor out wear_ui.{cpp,h} into bootable/recovery.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Every watch has a (mostly identical) copy of the wear_ui. Factor them
out into a single copy for easier maintenance. Device-specific settings
should be defined in recovery_ui.cpp that inherits WearRecoveryUI class.
Bug: 22451422
Change-Id: Id07efca37d1b1d330e6327506c7b73ccf6ae9241
|
| | |/
| |/|
| | |
| | |
| | | |
Change-Id: Id50c3e6febd0ab61f10a654b9b265cf21a2d1701
(cherry picked from commit 71dc365f25676cfb3f62dbb7163697a8c3c5243d)
|
| | |
| | |
| | |
| | |
| | |
| | | |
And a few trival fixes to suppress warnings.
Change-Id: I38734b5f4434643e85feab25f4807b46a45d8d65
|
| |/
| |
| |
| |
| |
| |
| |
| | |
These are already getting libc++, so it isn't necessary. If any of the
other static libraries (such as adb) use new or delete from libc++,
there will be symbol collisions.
Change-Id: I55e43ec60006d3c2403122fa1174bde06f18e09f
|
| |
| |
| |
| |
| |
| |
| | |
android-6.0 branch of ntfs-3g matches the cm-13.0 version now,
check platform version instead of CM_SDK version.
Change-Id: Ic4aed613084d530c814611678f70d75260b9adc4
|
| |
| |
| |
| |
| |
| |
| | |
This should make it easier to find the exact source for
a specific version of the binary.
Change-Id: I7e04dd9a3205cc643150a588b69b4bd691212ecb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Functionality for client side to backup
tar and image streams over adbd to the client under backup.ab.
Using adb backup on the client side you can backup the partitions
TWRP knows about.
On the client side you can do the following:
adb backup -f <filename> --twrp <options> where options are
--compress: compress data
system: backup system
cache: backup cache
data: backup data
boot: backup boot
etc for each partition.
You can string multiple options,
i.e. adb backup -f <filename> --twrp --compress cache system data
adb backup in TWRP will take any option corresponding
to TWRP fstab partitions, e.g. efs boot as well.
If you do not specify the filename with the -f option,
adb will backup your data to a filename backup.ab on the client.
You can then rename the file and encrypt it with desktop tools.
If you don't want to use command line arguments:
adb backup --twrp
will bring up the gui and allow you to choose partitions
from the backup page.
To restore the backup use the following convention:
adb restore <filename>
Structures are used to store metadata in binary inside
of the file itself. If the metadata structure is modified,
update the adb version so that it will invalidate older
backups and not cause issues on restore. When restoring,
we currently do not support picking specific partitions.
It's all or nothing.
Change-Id: Idb92c37fc9801dc8d89ed2a4570e9d12e76facf8
|
| |
| |
| |
| | |
Change-Id: I5ece02a8721e1b7541fb5182366a55fd0f037a7a
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The progress bar will now be updated during image backups, restores
and during image flashing (except for sparse images which will require
significant changes to libsparse, and except for mtd nand using
flash_utils).
The progress bar will now be updated mid-file for file systems (tar) so
the user will see changes even during large file backup / restore.
Add a new progress tracking class to simplify handling of progress bar
updates. The class will only update the progress bar 5 times a second to
reduce the CPU load from updating the GUI frequently which does affect
backup times.
Change-Id: Iff382faef3df1f86604af336c1a8ce8993cd12c5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
bionic process initialization calls personality
(specifically personality-8)
personality wants to load a kernel module
loading a kernel module calls /sbin/modprobe
loading /sbin/modprobe is a bionic process initialization
bionic process initialization calls personality
personality wants to load a kernel module
loading a kernel module calls /sbin/modprobe . . .
Before you know it, it takes 0.5 seconds to do anything.
Note: modprobe is still technically available, but the symlink
has been removed, so you can still call it directly by running
busybox modprobe if you like.
From what I can tell, this issue only affects 32 bit devices
with CONFIG_MODULES=y in the defconfig. The problem can be also
patched out of the kernel by commenting or otherwise removing
the block of code in kernel/exec_domain.c inside the CONFIG_MODULES
ifdef block
It is also possible to patch the problem in bionic libc by commenting
out or otherwise removing the __initialize_personality in bionic/libc/
bionic/libc_init_common.cpp file.
Change-Id: Iebac314616080ac18320d73b087980ac1b98b951
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
logd, the init.recovery.logd.rc, and other related files were
included by default if your device configs specified
TARGET_USES_LOGD := true which would be the case for any device
that has a full ROM tree instead of a minimal TWRP tree.
Change-Id: Ia1e55703631f0f22beab2f4d4479599b88539e1a
|
| |
| |
| |
| |
| |
| | |
If we set TW_NO_EXFAT then we should not try to build exfat-fuse
Change-Id: I836ed6082cfbfb51bfb862b79c0182f36de88a9c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Developers and device maintainers may find it useful to have access
to logcat in recovery. This patch set adds the following build flags:
TARGET_USES_LOGD - This is an Android build flag that enables logd
support. Devices that don't have built in kernel logging to dev/log/*
will need this flag for logcat. We'll also use this to include the
necessary support files for logd in TWRP.
TWRP_INCLUDE_LOGCAT - This enables logcat support in recovery.
I pulled the init entries from my HTC One M8 GPE boot.img,
so I'm not certain whether these will work for all devices
or if they're all necessary.
Feedback is welcome.
PS2: Use "TARGET_USES_LOGD" instead as this flag already exists, and
previous flag was named incorrectly (logd isn't kernel logging)
PS3: Start logd service on load_persist_props action, needed for 6.0+
PS4: More info on "TARGET_USES_LOGD" flag as related to liblog
compilation can be found at the below links:
https://android.googlesource.com/platform/system/core/+/android-6.0.1_r10/liblog/Android.mk#27
https://android.googlesource.com/platform/system/core/+/android-6.0.1_r10/liblog/Android.mk#50
Whether or not this flag is needed for logcat in TWRP is dependent
on whether liblog was compiled with this flag.
PS5: Update commit message to better describe "TARGET_USES_LOGD" flag
PS6: Another commit message update
Change-Id: Iaac6c6c822dc93fbe4b6eadcf24eef6995dd6b50
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
if the image has the right magic bytes to be a sparse image,
use simg2img to flash the image
create a rule to make a fully dynamic simg2img which results in a
much smaller increase in gzip ramdisk size (2KB vs 40KB)
Change-Id: I1b0f6bc127da46103888b1154a9bddd8ac02c01d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix permissions rarely fixed anything on more recent versions of
Android and usually made things worse. Instead we will replace it
with a more dumbed down option that should fix contexts on
/data/media with a few improvements to ensure that contexts get
fixed for multiple users and on adopted storage.
Change-Id: If5523781936a0b04196e2ad871cae767ebae2583
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-Detects, decrypts, and mounts an adopted SD card if a
secondary block device is defined (usually mmcblk1)
-Handles unified storage
-Displays the adopted storage in MTP along with internal
-Factory Reset - wiped just like a data media device, we
retain the keys folder and the storage.xml during a
factory reset
-Backup / Restore
-Disable mass storage when adopted storage is present
-Read storage nickname from storage.xml and apply it to
display names in the GUI
-Read storage.xml and determine what storage location is in
use for /sdcard and remap accordingly
libgpt_twrp is source code mostly kanged from an efimanager
project. It is GPL v2 or higher, so we will opt for GPL v3.
Change-Id: Ieda0030bec5155ba8d2b9167dc0016cebbf39d55
|
| |
| |
| |
| |
| | |
Change-Id: I75500bfe4e7adf66c5538597d79ed0539e7bb551
Signed-off-by: dianlujitao <dianlujitao@gmail.com>
|
| |
| |
| |
| | |
Change-Id: Ia5fadd8254340b21a54565e2c7d2b54aa70f19f3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-Improve code for partitioning sdcards
-Allow user to select a device for partitioning (must be removable)
-Use sgdisk to partition sdcards
-Set default sizes for ext and swap to 0
-Change increments for ext to 256MB and swap to 64MB
Note: sgdisk is included in 6.0. I have included a static prebuilt
sgdisk for trees that do not have sgdisk, however the prebuilt
sgdisk is a decent bit larger than the old parted binary. The old
parted binary is quite old at this point and we only have it for
armv7a. sgdisk should be maintained by AOSP and can be built from
source so it should work across architectures.
Change-Id: Ib80882d9b5776e5e9358b11340fba392e6f1ae09
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
CM-13 tree completely changes the names of the binaries that are created
for ntfs-3g. If we are using a CM-13 tree (CM SDK 4) make sure the
dependencies and relinking are adjusted accordingly.
Also, adapt partition code so it can make use of whichever set of
binaries are present.
Change-Id: I810caafa818f18281fd29dcf8f31b3053133b5ed
|
| |
| |
| |
| | |
Change-Id: I2bb2c44dd97974fa3cc19ccb6c6c7f0c3ef9bc58
|
| |
| |
| |
| | |
Change-Id: I8344d270ddb601694b5fef0fa7b22ea437030728
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This lets user set the default brightness so user doesn't cook
their phone on first boot or loss of settings file, while
still maintaining the ability to turn brightness to max if
desired.
Change-Id: Ia801fba46014335148ec573a0b0bbdf0a3ca60ae
|
| |
| |
| |
| | |
Change-Id: I160389afa074270c398aeb771845500f2445838a
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Usage of fsck.exfat is already included in partition.cpp, but the
tool is missing.
* Update the path to mkexfatfs so the button is available when changing
filesystem.
Change-Id: I5f4e27357c6b5a8606043d1bdc2488cc83e55d90
|
| |
| |
| |
| |
| |
| | |
Manual union is not needed in Android 6.0+.
Change-Id: I7e321fb90b4333da349cc8ad8d2d78d990258b65
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The C flag defines already use -DVAR=\"..\", so stripping these extra quotes
should not affect those defines.
The makefile does not need the quoting at all.
Makefile example output...
before: mkdir -p (omitted)/recovery/root"/twres/"
after: mkdir -p (omitted)/recovery/root/twres/
Change-Id: I8f557662eb18b5ea40b63bc055d12be4440251e6
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Make sure fsck.f2fs and mkfs.f2fs are built for CM12.1/13.0
* Add CM13.0 rule for relinking mkfs.f2fs
* Minor cleanup of nested if/else in prebuilts
Note on CM SDKs: 3=cm-12.1, 4=cm-13.0
I'm not yet sure whether it is possible that the CMSDK increments
within the same branch of CM.
Change-Id: I7b521159a8b5d0e0ea639f5e0fdd885100612df0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is similar to https://gerrit.omnirom.org/#/c/14014
A lot of the features built in the older patch set have been split
out into separate patches, most of which have already been merged.
The remaining functionality here should all be directly related to
language selection and loading. We always load English as a base
before loading other languages over the top of the base. The idea
is that if another language is missing a translation, then we will
still display the English.
Maybe still to do: read the /cache/recovery/last_locale file and
load a language based on that. For me, this file contains just:
en_US
We probably won't bother with region specific translations so we
would have to look at either trimming off the _US or using some
other method like perhaps a symlink or a combination of the two.
Thanks to _that for twmsg.cpp class
Change-Id: I9647a22e47883a3ddd2de1da51f64aab7c328f74
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Version 3.0.28
* Update filenames in source
* Remove unnecessary symlink to fsck
* Commit "Recode short filenames from DOS codepage (default 437)." has
been reverted since we do not have access to iconv
* Commits cherry-picked on top of 3.0.28:
- mkfs.fat: fix incorrect int type
- Prevent out of bound array read in date_dos2unix()
Change-Id: I50310235c62ec2e6bc90afcd10f2814d3afb5113
|
| |
| |
| |
| | |
Change-Id: I571e906173c9e70de97e3cfefd10da5137dba4d4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change solve two issue:
1) Policies related to recovery should be only included in recovery
policy
2) In CM trees the sepolicy dir was always bootable/recovery-
twrp/sepolicy, even if recovery path was bootable/recovery
Change-Id: I9466d22293074ba5f5240abe8b97a5d1bf30982d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reinstate some SELinux stuff in the default init.rc (noticed by
Kra1o5)
Add permissive.sh script to dependencies list for CM trees.
Change-Id: I36ade54378c413081d202002488309af35486d5f
|
| |
| |
| |
| | |
Change-Id: Ida3984a6b774c2da12342d48d8644cd18de7396c
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch set should make it easier to build TWRP in non-Omni
trees as it allows TWRP to modify the sepolicy instead of having
to merge a patch in external/sepolicy to meet TWRP's needs.
Change-Id: I73205343556abb0852ff4c5f8cbf293d840b95d9
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In order to maintain compatibility with older trees, we now have
minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to
handle ifdef issues in minui/minui.d because healthd includes
minui/minui.h and there was no other alternative to make minui.h
compatible with older trees without having to modify healthd rules
which is outside of TWRP.
Note that the new minui does not currently have support for qcom
overlay graphics. Support for this graphics mode will likely be
added in a later patch set. If you are building in a 6.0 tree and
have a device that needs qcom overlay graphics, be warned, as off
mode charging may not work properly. A dead battery in this case
could potentially brick your device if it is unable to charge as
healthd handles charging duties.
Update rules for building toolbox and add rules for making toybox
Use permissive.sh in init.rc which will follow symlinks so we do
not have to worry about what binary is supplying the setenforce
functionality (toolbox, toybox, or busybox).
Fix a few warnings in the main recovery binary source code.
Fix a few includes that were missing that prevented compiling in
6.0
Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This makes it easier for us to deal with arbitrary information at the
top, and means that headers added by specific commands don't overwrite
the default ones.
Add the fingerprint back, but broken up so it fits even on sprout's
display.
Change-Id: Id71da79ab1aa455a611d72756a3100a97ceb4c1c
|
| |
| |
| |
| |
| |
| |
| | |
Everyone's adding secret key combinations for this anyway, and it's
very useful when debugging.
Change-Id: Iad549452b872a7af963dd649f283ebcd3ea24234
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current abstract class was a nice idea but has led to a lot of
copy & paste in practice. Right now, no one we know of has any extra
menu items, so let's make the default menu available to everyone.
(If we assume that someone somewhere really does need custom
device-specific menu options, a better API would let them add to
our menu rather than replacing it.)
Change-Id: I59f6a92f3ecd830c2ce78ce9da19eaaf472c5dfa
|
| |
| |
| |
| |
| |
| |
| |
| | |
This eliminated the previous hack, that doesn't work reliably with the
"LOCAL_REQUIRED_MODULES := mkfs.f2fs".
Bug: 19666886
Change-Id: I1f0a2d41129f402c0165f3b86b6fda077291f282
|
| |
| |
| |
| |
| |
| |
| |
| | |
I think everything left now is here to stay (services.c might get
massaged in to libadbd if it gets refactored).
Bug: 17626262
Change-Id: I01faf8b277a601a40e3a0f4c3b8206c97f1d2ce6
|
| |
| |
| |
| |
| |
| |
| | |
adb.h has diverged a bit, so that one will be more involved, but these
three are all trivial, unimportant changes.
Change-Id: Ief8474c1c2927d7e955adf04f887c76ab37077a6
|
| |
| |
| |
| |
| | |
Bug: 17626262
Change-Id: If41031ba20a3a75fa510f155c654a482b47e409d
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
The cryptfs.h files is always included, but its path is only included when TARGET_USERIMAGES_USE_EXT4 is defined.
Change-Id: Iec6aa4601a56a1feac456a21a53a08557dc1d00d
|
| |\ \ |
|
| | |/
| | |
| | |
| | |
| | | |
Bug: 17626262
Change-Id: I8ce7cff2b7789f39f35a4211d7120d072c05a863
|
| |/
| |
| |
| |
| |
| |
| |
| | |
This include path was needed because system/vold/cryptfs.h included an
OpenSSL header just to get the length of a SHA-256 hash. This has been
fixed in https://android-review.googlesource.com/#/c/124477/1.
Change-Id: I06a8ba0ee5b9efcc3260598f07d9819f065711de
|
| |
| |
| |
| |
| |
| |
| | |
Add support for mounting ntfs via ntfs-3g and support for wiping
and repairing ntfs partitions.
Change-Id: I82dc4626f459bb93b86eb9ebba64ad3a6560781b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This enables devices to provide their own USB configuration. The
contents of init.recovery.usb.rc can most simply be modified and
included in a device's init.recovery.${ro.hardware}.rc.
Use option:
TW_EXCLUDE_DEFAULT_USB_INIT := true
Rationale: Some devices handle USB pid switching in the kernel. In this
case, USB init provides switching functions which differ from the
standard on property:sys.usb.config=xyz. Other devices should not see
USB attempt mtp,adb mode when TW_EXCLUDE_MTP is set.
Cherry-picked from android-5.0
Change-Id: Ief0fcaf46a1782102166fc1b733a34b1a1ba0802
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Otherwise, recovery log gets filled up with
"I:Cannot find file /sys/class/thermal/thermal_zone0/temp"
This also fixes build warnings due to duplicate definition of TW_NO_CPU_TEMP.
Change-Id: Ib7fdcd103d6684249c38c8b14ec85f2faba158f6
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some android trees have uncrypt in system/core (cm-11.0). This breaks
building recovery since two modules of the same name conflict. Only
include the local copy of uncrypt if it doesn't already exist in
system/core.
Change-Id: Ie2d7cdedf0d4c9ad148c43b317d1f22d1e50e1f7
|
| |
| |
| |
| |
| |
| | |
* Required by transparent compresssion in make_ext4fs.
Change-Id: I566c9e1281cc0dd725e96db32da0a1c3c000030e
|
| |
| |
| |
| |
| |
| |
| | |
Also add a short while loop to wait for fb0 to be created as was
needed on the x86-64 target for the Android emulator.
Change-Id: Ib1b87bea028ac3eac0541283334a0157cdfbce11
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will stop the iteration of the partition objects, kill the
current twrpTar thread and remove the backup directory.
Implement TWAtomicInt class to give us a wrapper that automatically
uses mutexes before the read and write to help ensure that the
reads and writes will be atomic based on documentation.
Change-Id: I645b22bc980a292e9c7202acb24ffd22ebe68c63
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AOSP and other ROM trees now do a rm -rf of the res folder during
the ramdisk creation process that removes the TWRP resources.
Using /twres instead of /res works around this issue making TWRP
more compatible with AOSP and other build trees.
Change-Id: I0d4c7e06ca381ac5aa0069b6f2b8c47f7dec49e7
|
| |
| |
| |
| | |
Change-Id: I836ae4491f8da75fd13e73193774677e26daf16d
|
| |
| |
| |
| |
| |
| |
| |
| | |
Break libblkid into 4 libraries: libblkid, libuuid, libutil-linux and libfdisk.
This should help in later patch updates.
Change-Id: I680d9a7feb031e5c29a603e9c58aff4b65826262
|
| |
| |
| |
| | |
Change-Id: If99d0be4b73cdeb388c6cb1b35a215d3b8b3b58d
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Files and folders that we create during backups, copy log, or MTP
operations often do not have the proper uid/gid/contexts assigned.
We will attempt to read the proper contexts from the settings
storage path and assign those same contexts to any files or dirs
that we create.
Change-Id: I769f9479854122b49b499de2175e6e2d026f8afd
|
| |
| |
| |
| |
| |
| |
| | |
Symlinks for unpigz, toolbox, and busybox were not generating in
older trees.
Change-Id: I3ca2a2047510954e66fb3cf49eef6af713d3268e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new minzip did not compile in older trees due to needing
mmap64. For older trees we will just use mmap instead. Remove all
files and code pertaining to minzipold. Updater should now build
properly in older trees as well.
Eliminate use of PLATFORM_VERSION in favor of PLATFORM_SDK_VERSION
which should be more consistent and reliable.
Change-Id: I38d2b604a73d1b17a2072c7d60e990b81ece0c10
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Push to android-5.0
Conflicts:
Android.mk
Change-Id: I0b831a4e6e52e4b314751035b750e6a398cb4d2d
|
| |
| |
| |
| |
| | |
Patch Set 3: Combine into one sed - by bigbiff
Change-Id: Ice3147fae76575f6e09c7df201bcd3f949aa24ea
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Trim cryptfs.c to remove functions that TWRP does not use for
decrypt and remove the need for libfs_mgr from cryptfs.c by
passing some items to cryptfs.c from the partition manager.
Add support for new fstab flags:
encryptable and forceencrypt=/path/to/cryptokey
For example:
flags=forceencrypt=/dev/block/platform/sdhci-tegra.3/by-name/MD1
Note that "footer" is the default, so you do not need to set this
flag on devices that use the footer for the crypto key.
Also add mounttodecrypt if you need to mount a partition during
the decrypt cycle for firmware of proprietary libs.
Clean up decrypt and only support one version
Android 5.0 lollipop decrypt should be backwards compatible with
older versions so we will only support one version, 1.3 that came
with 5.0 lollipop.
Remove support for Samsung TouchWiz decrypt. It does not work with
the latest versions of Samsung encryption anyway and it has not
been updated to work with any AOSP decryption higher than 1.1
Change-Id: I2d9c6e31df50268c91ee642c2fa090f901d9d5c9
|
| |
| |
| |
| | |
Change-Id: I9e2f359dd7274e1ae885f6a3b392d5ab5ca99ac9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Migrate previous minzip to minzipold replacing the existing
minzipold. This will break compatibility with trees that do not
support selinux (ICS and older). Migrate former verifier files to
verifierold.
Add fuse.h to recovery source because older trees do not have it.
Add LOCAL_MODULE_TAGS where needed for 4.1 tree.
Change-Id: Iade57cb2b0115af7fce9f56aa98636b1744a1ef4
|
| |
| |
| |
| | |
Change-Id: I8c3f084fc34b00edb4cd1b652290df8bc80ea1db
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Kang in cryptfs.c and cryptfs.h from vold.
Use TW_INCLUDE_L_CRYPTO := true to enable.
Ramdisk must contain the normal fstab file in the root in the
usual format of:
fstab.{ro.hardware}
For examble for Nexus 5:
fstab.hammerhead
Or on many Qualcomm devices:
fstab.qcom
Tested against Android 5.0 lollipop on Nexus 7 2012 grouper. Not
sure if or how this will work when we are dealing with a device
with a hardware keystore. Long term we need to add a GUI element
to allow entering a pattern. For now you can decrypt a pattern
unlock by converting the dots to numbers in the following format:
123
456
789
So an upper-case L would translate to 14789 as a password entered
on the keyboard.
Change-Id: I02c29e1f1c2eb29bf002c9fe0fc118357300b5b3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
-Remove dosfstools for arm64 until we can make it compile
-Fix TW_USE_TOOLBOX flag to work again
-Fix symlinking and handling of sh when using mksh
-Fix legacy properties to find futex_wake function
-Fix libcrecovery to not use bsd_signal anymore
-Fix rules for building with regards to libcrecovery
-Update toolbox_recovery rules to compile tools in lollipop
-Fix a few compile errors specific to arm64
Testers report that TWRP does not boot on Nexus 9 and we fail to
get a shell for adb shell. At least it compiles without errors.
Change-Id: I286be8628defb60cc527b8a548c0bdfcb0ebb574
|
| |
| |
| |
| | |
Change-Id: Id6fcae7b7b8d9a03ff09711844e987084bd001ac
|
| |
| |
| |
| | |
Change-Id: I5a6d0c3c5f9a3a474464c0f06d6b09045459eebb
|
| |
| |
| |
| | |
Change-Id: I26fa571b151c50d133b550395576d4e0246e18bd
|
| |
| |
| |
| | |
Change-Id: Id226b2cde93cf0f81a6dd33fbdf70f8f954cade8
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will probably not compile and may need additional work.
For tracking purposes so we know what might still need looking at
as none of this has been compiled and tested, here is a list of
the merge conflicts that I attempted to fix before pushing this
set of changes:
git pull aosp lollipop-release
remote: Finding sources: 100% (992/992)
remote: Total 992 (delta 473), reused 992 (delta 473)
Receiving objects: 100% (992/992), 1.51 MiB | 516.00 KiB/s, done.
Resolving deltas: 100% (473/473), completed with 42 local objects.
From https://android.googlesource.com/platform/bootable/recovery
* branch lollipop-release -> FETCH_HEAD
* [new branch] lollipop-release -> aosp/lollipop-release
Auto-merging verifier_test.cpp
CONFLICT (content): Merge conflict in verifier_test.cpp
Auto-merging verifier.h
CONFLICT (content): Merge conflict in verifier.h
Auto-merging verifier.cpp
CONFLICT (content): Merge conflict in verifier.cpp
Auto-merging updater/updater.c
Auto-merging updater/install.c
CONFLICT (content): Merge conflict in updater/install.c
Auto-merging updater/Android.mk
CONFLICT (content): Merge conflict in updater/Android.mk
Auto-merging uncrypt/Android.mk
CONFLICT (content): Merge conflict in uncrypt/Android.mk
Auto-merging ui.cpp
CONFLICT (content): Merge conflict in ui.cpp
Auto-merging screen_ui.cpp
Auto-merging roots.cpp
CONFLICT (content): Merge conflict in roots.cpp
CONFLICT (rename/delete): res-hdpi/images/progress_fill.png deleted
in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42.
Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of
res-hdpi/images/progress_fill.png left in tree.
CONFLICT (rename/delete): res-hdpi/images/progress_empty.png deleted
in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42.
Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of
res-hdpi/images/progress_empty.png left in tree.
CONFLICT (rename/delete): res-hdpi/images/icon_error.png deleted
in HEAD and renamed in cddb68b5eafbeba696d5276bda1f1a9f70bbde42.
Version cddb68b5eafbeba696d5276bda1f1a9f70bbde42 of
res-hdpi/images/icon_error.png left in tree.
Auto-merging recovery.cpp
CONFLICT (content): Merge conflict in recovery.cpp
Auto-merging minui/resources.c
CONFLICT (content): Merge conflict in minui/resources.c
Auto-merging minui/minui.h
CONFLICT (content): Merge conflict in minui/minui.h
Auto-merging minui/graphics.c
CONFLICT (content): Merge conflict in minui/graphics.c
Auto-merging minui/Android.mk
CONFLICT (content): Merge conflict in minui/Android.mk
Removing minelf/Retouch.h
Removing minelf/Retouch.c
Auto-merging minadbd/usb_linux_client.c
CONFLICT (content): Merge conflict in minadbd/usb_linux_client.c
Auto-merging minadbd/adb.h
CONFLICT (content): Merge conflict in minadbd/adb.h
Auto-merging minadbd/adb.c
CONFLICT (content): Merge conflict in minadbd/adb.c
Auto-merging minadbd/Android.mk
CONFLICT (content): Merge conflict in minadbd/Android.mk
Removing make-overlay.py
Auto-merging install.h
CONFLICT (content): Merge conflict in install.h
Auto-merging etc/init.rc
CONFLICT (content): Merge conflict in etc/init.rc
Auto-merging bootloader.h
Auto-merging applypatch/applypatch.c
Auto-merging applypatch/Android.mk
CONFLICT (content): Merge conflict in applypatch/Android.mk
Auto-merging adb_install.cpp
CONFLICT (content): Merge conflict in adb_install.cpp
Auto-merging Android.mk
CONFLICT (content): Merge conflict in Android.mk
Automatic merge failed; fix conflicts and then commit the result.
Change-Id: I3e0e03e48ad8550912111c7a5c9a140ed0267e2c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make a fuse filesystem that sits on top of the selected package file
on the sdcard, so we can verify that the file contents don't change
while being read and avoid copying the file to /tmp (that is, RAM)
before verifying and installing it.
Change-Id: Ifd982aa68bfe469eda5f839042648654bf7386a1
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Split the adb-specific portions (fetching a block from the adb host
and closing the connections) out from the rest of the FUSE filesystem
code, so that we can reuse the fuse stuff for installing off sdcards
as well.
Change-Id: I0ba385fd35999c5f5cad27842bc82024a264dd14
|
| |
| |
| |
| |
| |
| | |
Instead of LOCAL_ADDITIONAL_DEPENDENCIES.
Bug: 15702524
Change-Id: Ic152ae60354bf09eccdb9a85dcd04f0f076a6422
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds F2FS support
- for wiping a device
- for the install "format" command.
Note: crypto data in "footer" with a default/negative length
is not supported, unlike with "ext4".
Change-Id: I8d141a0d4d14df9fe84d3b131484e9696fcd8870
Signed-off-by: JP Abgrall <jpa@google.com>
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
cryptfs.h now includes sha header from libcrypto folder
Change-Id: Icd02c88971aedf96040c3bd9ca759e531546023b
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Recovery now draws directly to the framebuffer by rolling its own
graphics code, rather than depending on libpixelflinger.
The recovery UI is modified slightly to eliminate operations that are
slow with the software implementation: when the text display / menu is
turned on, it now appears on a black background instead of a dimmed
version of the recovery icon.
There's probably substantial room for optimization of the graphics
operations.
Bug: 12131110
Change-Id: Iab6520e0a7aaec39e2ce39377c10aef82ae0c595
|
| |
| |
| |
| | |
Change-Id: I1541534ee6978ddf8d548433986679ce9507d508
|
| |
| |
| |
| |
| |
| |
| |
| | |
Older versions of android supported an ASLR system where binaries were
randomly twiddled at OTA install time. Remove support for this; we
now use the ASLR support in the linux kernel.
Change-Id: I8348eb0d6424692668dc1a00e2416fbef6c158a2
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
uncrypt can read a file on an encrypted filesystem and rewrite it to
the same blocks on the underlying (unencrypted) block device. This
destroys the contents of the file as far as the encrypted filesystem
is concerned, but allows the data to be read without the encryption
key if you know which blocks of the raw device to access. uncrypt
produces a "block map" file which lists the blocks that contain the file.
For unencrypted filesystem, uncrypt will produce the block map without
touching the data.
Bug: 12188746
Change-Id: Ib7259b9e14dac8af406796b429d58378a00c7c63
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Changes minzip and recovery's file signature verification to work on
memory regions, rather than files.
For packages which are regular files, install.cpp now mmap()s them
into memory and then passes the mapped memory to the verifier and to
the minzip library.
Support for files which are raw block maps (which will be used when we
have packages written to encrypted data partitions) is present but
largely untested so far.
Bug: 12188746
Change-Id: I12cc3e809834745a489dd9d4ceb558cbccdc3f71
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This assumes that the metadata is correctly defined in fstab.
Which apparently some devices don't do.
Bug: 8766487
Bug: 12112624
Change-Id: I1b14b9d4c888e9348527984be3dce04bdd9f4de0
|
| |\
| | |
| | |
| | |
| | | |
* commit 'fc7eab961f9dc85ee88e8c37ca1dc31a7f7b8331':
Add support for ECDSA signatures
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds support for key version 5 which is an EC key using the NIST
P-256 curve parameters. OTAs may be signed with these keys using the
ECDSA signature algorithm with SHA-256.
Change-Id: Id88672a3deb70681c78d5ea0d739e10f839e4567
|
| |/
| |
| |
| |
| |
| |
| | |
Also provide a default implementation of CheckKey that's reasonable
for many devices (those that have power and volume keys).
Change-Id: Icf6c7746ebd866152d402059dbd27fd16bd51ff8
|
| |
| |
| |
| |
| |
| | |
There is no LOCAL_MODULES_TAGS. Fix by combining with LOCAL_MODULE_TAGS.
Change-Id: I1cacef2f8123af3632ff6a52aa62c2f2e15ac37d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update makefiles to no longer rely on INTERNAL_RECOVERY_FILES. Define
LOCAL_ADDITIONAL_DEPENDENCIES instead.
Set LOCAL_LDFLAGS to properly link recovery executable.
Change-Id: I4542104c69399b5a19674b9772ab89c3709efa72
|
| |
| |
| |
| |
| |
| |
| | |
use TW_NO_CPU_TEMP := true to disable display
use TW_CPU_CUSTOM_PATH := path to set custom path
Change-Id: Id260ecbb4ec36a78442387329944f67003d0f6a0
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using RECOVERY_VARIANT to allow recovery to reside at
bootable/recovery-(variant) has changed at CM. project-path-for now
handles all the path re-mapping. This is simply a compatibility update
to be able to continue using RECOVERY_VARIANT with TWRP in a CM tree.
Change-Id: I66769d85b2a111e837f206b1c9a5bc07d6ac0d86
|
| |
| |
| |
| | |
Change-Id: I46a1e7bf115c45616774b0571b17e38777ba87f8
|
| |
| |
| |
| |
| |
| |
| |
| | |
If busybox has SELinux support, we don't need toolbox to provide SELinux
specific tools. Check busybox for restorecon to see if SELinux support
is present and then adjust the tools built by toolbox based on this.
Change-Id: I30a2b036b97ac3e26510d5e0498c52d7a8af36e1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enable TWRP to reside alongside other recoveries with the naming
convention: bootable/recovery(-flag). If TWRP resides at
bootable/recovery and a device does not specify RECOVERY_VARIANT, then
it will build like normal. If TWRP resides at bootable/recovery-twrp,
then its makefiles will only be parsed if a device specifies
'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile
warnings/errors (notably, missing DEVICE_RESOLUTION) when another
recovery is being built.
Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
|
| |
| |
| |
| |
| |
| | |
Big thanks to Dees_Troy for helping with the implementation.
Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
TWFunc::Fixup_Time_On_Boot: Will now try to read
/sys/class/rtc/rtc0/since_epoch to correct time, if that fails
it will try to use the ats files to correct time.
TWFunc::Set_Brightness: One single function to set brightness
from both the automated functions and the gui actions. It is
able to set a second brightness path if present, it will set
them both the same value. Many Sony devices have 2 brightness
files in the sysfs that must be set to properly set the
brightness.
Change-Id: I7ca582109085dfbcb46b8de73ad031e4b7903fca
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allows sending openrecoveryscript commands to TWRP via shell.
This may be handy for visually impaired users, for various one
click utilities to drive TWRP commands from a computer, for using
TWRP when a catastrophic hardware failure like a shattered screen
prevents you from being able to use touch, or even on devices like
a TV stick where touch and USB mouse input is unavailable.
This patch also includes a few minor changes to openrecoveryscript
including proper support for rebooting via the script and for
decrypting the device via the command line.
Change-Id: I796ad168efdd2da9c25334ac93d1079daaa7b0bc
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use board define BOARD_RECOVERY_BLDRMSG_OFFSET with a decimal integer
to define a custom offset where the bootloader message should be
read/written.
Change-Id: Id13a23dd41bb7d907b96d657b8e21eb839dfeaa9
|
| |
| |
| |
| |
| |
| |
| |
| | |
Track backup and restore progress based on the sizes of the files
as they are being added to the tar backup file. Update the
progress bar based on the sizes of the files.
Change-Id: Idf649efa1db3e91830b4b2add86203a3f30042ff
|
| |
| |
| |
| | |
Change-Id: Ibbba0ce9c7ebadee40e42b740c83214fd1cd56ac
|
| |
| |
| |
| |
| |
| | |
Fix problem with erase/restore mtd partitions on Rockchip SoC
Change-Id: I3320f711446441cf79e38e9ffb5dfdb6b1717a55
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Scan a folder for a file based on file name. First scan the files
in the current path, then search real directories and finally
search symlinks in that order. Goal is to locate important sysfs
files for things like brightness, battery capacity, lun files, etc
This implementation just scans for the brightness file for the LCD
Change-Id: I8ed3e74a2e2851d58b443718b6e92b50a5491f08
|
| |
| |
| |
| | |
Change-Id: Ic440e33fa22aa7b082097366f10b333cc945362a
|
| |
| |
| |
| |
| |
| |
| | |
Makes a smaller TWRP
Uses mksh for shell
Change-Id: If78d7745dda8919fcb2e9c9b60c6696063c14114
|
| |
| |
| |
| |
| |
| |
| |
| | |
Disable theming
Disable creating the TWRP folder for the settings file
Change factory reset on data/media devices to a full wipe
Change-Id: I3104282b5dd3f55dfff7c8cf39c72750af08563d
|
| |
| |
| |
| |
| |
| |
| | |
Introduce TW_NO_LEGACY_PROPS flag for users that build TWRP in
non-kitkat trees and don't need the legacy prop environment.
Change-Id: Iacb2d9af7d7069acb3d0a96bb34f32ded6317a20
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Google changed the in-memory format for storing properties in 4.4.
Zips containing an older update-binary expect the old format, otherwise
assertions on properties in the update script fail.
This is just enough of the old property service to copy the properties
to the legacy format before running the updater.
Change-Id: I404680384bdc5e952609e295029ab0a0faf743a5
|
| |
| |
| |
| | |
Change-Id: I9e2b8e9b69c94b94c57143c04b950530490ec33e
|
| |
| |
| |
| | |
Change-Id: I9db1aac350cd2ca02cceccc249ebd2f0b3c3c671
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I04ad07f3e6be961003e063be8c648e191e2f9431
|
| |
| |
| |
| | |
Change-Id: I53380ee203c1fe75d37f24f99e36f5c5a62e5b39
|
| |
| |
| |
| |
| |
| | |
Moved Get_Folder_Size to this new class.
Change-Id: If0a0220f900eb109581f2eeaf7b76e3f7d6886f1
|
| |
| |
| |
| | |
Change-Id: I3b9e5f72f3c1c77e41a45d3c94a44f36cc5cbc3c
|
| |
| |
| |
| | |
Change-Id: I8d5d7b6a49890e4707d70de8b429563de0d2ad99
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix building all applypatch items
Fix building verifier_test (probably will not work right as-is)
but at least it builds without errors.
Change-Id: I7ab0c04d7d3d2c2e14b57480627e594f89a68b0b
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Make a copy of libmincrypt in TWRP source so we do not have to
ifdef verifier.cpp for various versions of mincrypt.
Remove reboot tool from toolbox (it was removed from 4.4 and did
not compile properly on some devices in older trees)
|
| |
| |
| |
| |
| |
| | |
Build special limited toolbox with SELinux tools for recovery
Change-Id: Ifc76a6bd0468a72081f15ede2a68adf48af8a0f2
|
| | |
|
| |
| |
| |
| | |
CM7 and CM9 do not have libselinux needed in the newer minzip.
|
|\|
| |
| |
| | |
Merge in latest commits from AOSP master and fix merge conflicts
|
| |
| |
| |
| |
| | |
Bug: 8580410
Change-Id: Ie60dade81c06589cb0daee431611ded34adef8e6
|
| |
| |
| |
| |
| |
| |
| | |
Instead of reading it's own fstab, have recovery invoke
fs_mgr to read the unified fstab.
Change-Id: I80c75d2c53b809ac60a4a69f0ef7ebfa707c39e9
|
| |\
| | |
| | |
| | | |
Change-Id: I861e3a6aa07c448909b2ae54618bba178bd6e457
|
| | |
| | |
| | |
| | | |
Change-Id: Ia96201f20f7838d7d9e8926208977d3f8318ced4
|
| |/
| |
| |
| | |
Change-Id: I0bdc2df5ef358813587f613a1b50eaa850e95782
|
| | |
|
| |
| |
| |
| | |
Change-Id: Ifb3a5bd9f1e6c2e9810c90b0aec198e91d5956fc
|
| |
| |
| |
| | |
Change-Id: I11e1a3d018d921d96ba08915925b14bf633be6ed
|
| |
| |
| |
| | |
Change-Id: I94979806935546fa40a87611be5185c14b557377
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Pulled part of change from kokotas in this patch set:
http://review.teamw.in/#/c/586/
Change-Id: If1c5b1563df16f9c561c94f61010f6a99f36efa0
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Add Source of fb2png to TWRP tree
* Android.mk by PhilZ-cwm6
* Makefile for CrossCompiling via external toolchan by me (Talustus)
Change-Id: If9680688df6e4c9c567f74f46dfc303566b868ba
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Also includes features merged from:
Update twrpTar by kokotas
Revised function entryExists().
Added function to get archive's uncompressed size.
Added option to exclude item(s) from the archive.
Revised forks()
http://review.teamw.in/#/c/590/
Change-Id: I01fa2c81643161984eff2625247af75990684bd9
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: Ic5d44314f501341140dd7059d1cb753341f5844c
|
| |
| |
| |
| |
| |
| | |
Improves license compatibility between GPL and Apache
Change-Id: I2b165aa575bb6213af6b07936f99610c113443f0
|
| |
| |
| |
| | |
Change-Id: Iaf771257d8f904807ca6f6c1a6c3d7993abadb85
|
| |
| |
| |
| |
| |
| | |
create a framework for computing digests and reading digests in TWRP
add space for backwards compatibility with bb md5sum
Change-Id: Ia18e3f430eed5eba22e5052d39b9b8d88ecd4536
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Also fix build problems with libblkid in CM7
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
Change-Id: I1cd4573e25b247171e4bd8cc05b70543f897a454
|
| |
| |
| |
| | |
we can now use libblkid to detect exfat
|
| |
| |
| |
| | |
Change-Id: I924297ab0dcf920cd4b4b617949c3b16cbc68e43
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
if device has no /boot partition, then add the following flag in BoardConfig.mk
TW_HAS_NO_BOOT_PARTITION
Signed-off-by: ChampionSwimmer <android@championswimmer.tk>
Change-Id: I92b36b2e6ca690e2422b36004ae9bb315d24a7c2
|
| |
| |
| |
| | |
Change-Id: Ic6440c624b5cfbdb0f24681461748a0da16bf95e
|
| |
| |
| |
| |
| |
| |
| | |
update fuse to 2.9.2
catch return from unlink so that we don't print error messages when things work
Change-Id: I1115039a0fa5d9d73f78ef1abd79755d7ffd9d96
|
| |
| |
| |
| |
| |
| |
| | |
Fix issues with MD5 checking using chdir and leaving the working
dir in a subfolder that prevented unmounting sometimes.
Change-Id: I01a563d722f474297ed3f7a30064c3a61748ade3
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move Exec_Cmd to libcrecovery __popen
Provide opt out build flag for exFAT
Default fstype to exfat on external storage if exfat support is
present and fstype is vfat or auto
Fix invalid unmount errors
Improve handling of unencrypted sdcards on Samsung devices
|
| | |
|
| |
| |
| |
| |
| | |
update exfat_fuse to newest updates
Always compile mkexfatfs
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Add proper mkdosfs tool
Add fuse to TWRP
Add experimental exfat-fuse to TWRP
Convert all system() functions to use new Exec_Cmd function
|
| |
| |
| |
| | |
Change-Id: I418680e59372160dabfe3e2d5f0208229aa151ae
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Due to a kernel bug and no available sources we have to work around the
MEMERASE ioctl - if used, it hangs and never returns. I straced the original
recovery executable and could see that it is simply calling write() with a
bunch of zeroes instead of using MEMERASE.
Added a hack that does the same and now the resulting TWRP recovery image works.
Change-Id: I1b1c1c9e870e350776346bdca5d442c7ef565aa0
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Converted bootloader.cpp to TWRP and removed AOSP fstab parsing
from startup
|
| | |
|
| |
| |
| |
| |
| | |
Improve zip finding in ORS engine
Add support for restoring with just a backup name
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Fixed a problem with using make_ext4fs by making its lib
a dynamic lib.
Added ADB sideload zip install feature - no way to cancel it yet.
Improve backup and restore code.
|
| |
| |
| |
| |
| |
| |
| | |
Remove mincrypt source from TWRP and add rule to make
libmincrypt as a shared library.
No more crashes during zip signature verification and
less code to maintain in TWRP.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Zip install works, had to move mincrypt code into TWRP to prevent
a crash when checking the zip signature.
Added wipe functions
Made it compile in CM7
Made text show up in console and logging
|
| |
| |
| |
| |
| |
| |
| | |
Move TW zip install code to C++ so that it can use the
ui->functions.
Bring in mincrypt code to fix a crash during signature
checking.
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
Pull in most TWRP sources
Stub out partition management code
Make it compile -- probably will not boot
Kind of a mess but have to start somewhere
|
|
|
|
| |
Change-Id: I664f8dc7939f8f902e4775eaaf6476fcd4ab8ed2
|
|
|
|
| |
Change-Id: I4154db066865d6031caa3c2c3b94064b2f28076e
|
|
|
|
|
|
| |
libext4_utils requires libsparse, link against it as well.
Change-Id: I4d6aec0e5edcf1ed42118b7b77adcded2858d3dd
|
|\
| |
| |
| | |
Change-Id: I2e8298ff5988a96754f56f80a5186c9605ad9928
|
| |
| |
| |
| |
| |
| |
| | |
Extend minzip, recovery, and updater to set the security context on
files based on the file_contexts configuration included in the package.
Change-Id: Ied379f266a16c64f2b4dca15dc39b98fcce16f29
|
| |
| |
| |
| |
| |
| |
| | |
libext4_utils now calls libselinux in order to determine the
file security context to set on files when creating ext4 images.
Change-Id: I09fb9d563d22ee106bf100eacd4cd9c6300b1152
|
| |
| |
| |
| | |
Change-Id: I082995c338feaf5d11288300768624cd51b027a4
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Rather than depending on the existence of some place to store a file
that is accessible to users on an an unbootable device (eg, a physical
sdcard, external USB drive, etc.), add support for sideloading
packages sent to the device with adb.
This change adds a "minimal adbd" which supports nothing but receiving
a package over adb (with the "adb sideload" command) and storing it to
a fixed filename in the /tmp ramdisk, from where it can be verified
and sideloaded in the usual way. This should be leave available even
on locked user-build devices.
The user can select "apply package from ADB" from the recovery menu,
which starts minimal-adb mode (shutting down any real adbd that may be
running). Once minimal-adb has received a package it exits
(restarting real adbd if appropriate) and then verification and
installation of the received package proceeds.
Change-Id: I6fe13161ca064a98d06fa32104e1f432826582f5
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the key for handling keys from ScreenRecoveryUI to RecoveryUI, so
it can be used by devices without screens. Remove the UIParameters
struct and replace it with some new member variables in
ScreenRecoveryUI.
Change-Id: I70094ecbc4acbf76ce44d5b5ec2036c36bdc3414
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace the device-specific functions with a class. Move some of the
key handling (for log visibility toggling and rebooting) into the UI
class. Fix up the key handling so there is less crosstalk between the
immediate keys and the queued keys (an increasing annoyance on
button-limited devices).
Change-Id: I698f6fd21c67a1e55429312a0484b6c393cad46f
|
| |
| |
| |
| | |
Change-Id: I61f249861b27180225fb786901275d2da611531b
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move all the functions in ui.c to be members of a ScreenRecoveryUI
class, which is a subclass of an abstract RecoveryUI class. Recovery
then creates a global singleton instance of this class and then invoke
the methods to drive the UI. We use this to allow substitution of a
different RecoveryUI implementation for devices with radically
different form factors (eg, that don't have a screen).
Change-Id: I76bdd34eca506149f4cc07685df6a4890473f3d9
|
|/
|
|
| |
Change-Id: I423a23581048d451d53eef46e5f5eac485b77555
|
|
|
|
|
|
| |
Bug: 5010576
Change-Id: Ib465fdb42c8621899bea15c04a427d7ab1641a8c
|
|
|
|
| |
Change-Id: Iada6268b0a72ee832113ea397334cc7950a37051
|
|
|
|
|
|
|
| |
This was never used; encrypted filesystems are being done a different
way now.
Change-Id: I519c57b9be44d001f0b81516af7bfc252069892b
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the wacky notion of "roots" and "root paths" (those things that
look like "FOO:some/path" instead of just "/foo/some/path"). Let each
device specify its own table of available partitions and how to mount
them (needed for devices that use both MTD/yaffs2 and EMMC/ext4
partitions).
(Cherrypicked from gingerbread w/slight edits.)
Change-Id: I2479ce76b13e73f1d12035c89386c3a82b3edf51
|
|
|
|
|
|
|
|
|
|
| |
Separate files for retouch functionality are in minelf/*
ASLR for shared libraries is controlled by "-a" in ota_from_target_files.
Binary files are self-contained. Retouch logic can recover from crashes.
Signed-off-by: Hristo Bojinov <hristo@google.com>
Change-Id: I76c596abf4febd68c14f9d807ac62e8751e0b1bd
|
|
|
|
| |
Change-Id: I827af624c9ec7c64decb702de8c0310cf19b4141
|
|
|
|
| |
Change-Id: I932f73a6f937aac061128e1134eab08c30f0471d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Move applypatch to this package (from build).
- Add a rudimentary type system to edify: instead of just returning a
char*, functions now return a Value*, which is a struct that can
carry different types of value (currently just STRING and BLOB).
Convert all functions to this new scheme.
- Change the one-argument form of package_extract_file to return a
Value of the new BLOB type.
- Add read_file() to load a local file and return a blob, and
sha1_check() to test a blob (or string) against a set of possible
sha1s. read_file() uses the file-loading code from applypatch so it
can read MTD partitions as well.
This is the start of better integration between applypatch and the
rest of edify.
b/2361316 - VZW Issue PP628: Continuous reset to Droid logo:
framework-res.apk update failed (CR LIBtt59130)
Change-Id: Ibd038074749a4d515de1f115c498c6c589ee91e5
|
|
|
|
|
|
|
|
|
| |
Remove support for the HTC-specific "firmware" update command and the
corresponding edify function write_firmware_update(). This
functionality is now done by an edify extension library that lives in
vendor/htc.
Change-Id: I80858951ff10ed8dfff98aefb796bef009e05efb
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit '9b430e11d6c4fb907d0aa96667142e2c00585e09'
* commit '9b430e11d6c4fb907d0aa96667142e2c00585e09':
add a simple unit test for the OTA package verifier
|
| | |
|
|/
|
|
| |
This change enables/disables the Encrypted file systems feature. It reads some properties form the data partition, wipes the partition out, and then rewrites the proper properties again into the data partition to signal that encrypted FS are enabled.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Yank all the code to install OTA packages out of the recovery binary
itself. Now packages are installed by a binary included in the
package (run as a child of recovery), so we can make improvements in
the installation process without waiting for a new release to use
them.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
To do a firmware-install-on-reboot, the update binary tells recovery
what file to install before rebooting. Let this file be specified as
"PACKAGE:<foo>" to indicate taking the file out of the OTA package,
avoiding an extra copy to /tmp. Bump the API version number to
reflect this change.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
Merge commit '9931f7f3c1288171319e9ff7d053ebaad07db720'
* commit '9931f7f3c1288171319e9ff7d053ebaad07db720':
edify extensions for OTA package installation, part 1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds the following edify functions:
mount unmount format show_progress delete delete_recursive
package_extract symlink set_perm set_perm_recursive
This set is enough to extract and install the system part of a (full)
OTA package.
Adds the updater binary that extracts an edify script from the OTA
package and then executes it. Minor changes to the edify core (adds a
sleep() builtin for debugging, adds "." to the set of characters that
can appear in an unquoted string).
|
| |
| |
| |
| |
| |
| |
| | |
them from an external file in the recovery image. Use the
test-keys for all builds.
Automated import of CL 144130
|
| |
| |
| |
| |
| |
| | |
about 60k from the recovery and system images.
Automated import of CL 143128
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Take some device-specific details of the recovery UI (eg, what keys to
press to bring up the interface and perform actions, exact text of the
menu, etc.) and split them out into separate C functions. Arrange to
take implementations of those functions from the appropriate vendor
directory at build time. Provide a default implementation in case no
vendor-specific one is available.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
them from an external file in the recovery image. Use the
test-keys for all builds.
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 144132
|
|/
|
|
|
|
|
|
| |
about 60k from the recovery and system images.
Original author: dougz
Merged from: //branches/donutburger/...
Automated import of CL 143289
|
| |
|
| |
|
| |
|
|
|