-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
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
* 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
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
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 1171d3a12b)
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
* 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
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 e49a9e527a)
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
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
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
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
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
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
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
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 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
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