History log of /system/update_engine/boot_control_android.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cee6ad93d1772be82477fe30407c768160406539 21-Nov-2016 Connor O'Brien <connoro@google.com> Revert "Revert "Convert BootControl HAL to binder.""

This reverts commit 9ca8231d34dc134deaf16bcfb112a04cea8ff6d5.

Bug: 31864052
Test: Built and confirmed UE runs successfully on boot on marlin.
Change-Id: I0b231f58265f23c6673632a4c2477c8de272a096
Signed-off-by: Connor O'Brien <connoro@google.com>
/system/update_engine/boot_control_android.h
9ca8231d34dc134deaf16bcfb112a04cea8ff6d5 18-Nov-2016 Connor O'Brien <connoro@google.com> Revert "Convert BootControl HAL to binder."

This reverts commit 29dcbf32a88f1638bb911c86b8e0ea12f84d9364.

Bug: 32973182
Change-Id: I284737db77ff1c140a0abf0c364551d4139c8914
/system/update_engine/boot_control_android.h
29dcbf32a88f1638bb911c86b8e0ea12f84d9364 06-Oct-2016 Alex Deymo <deymo@google.com> Convert BootControl HAL to binder.

The new HAL specification uses HIDL to communicate between the caller
and the HAL code itself, which is now what the BootControlAndroid
implementation does. Nevertheless, since update_engine_sideload uses
the boot_control HAL directly as a static library this patch keeps the
old implementation around, now called BootControlRecovery for this
purpose.

Bug: 31863957
Test: Applied an update on master.

Change-Id: Ib2f0c4f0c616e76d19cc78b9b7e44bc55aec8ffa
/system/update_engine/boot_control_android.h
1b03f9f983a22fabb8d53e036abf1b192e7d5811 09-Dec-2015 Alex Deymo <deymo@google.com> Move hardware and boot_control implementation to libupdate_engine.

The implementations of the BootControlInterface and HardwareInterface
are specific to the platform and use case. The delta_generator uses the
DeltaPerformer in the libpayload_consumer to apply a payload to a set
of partitions defined as local files, for example.

This patch move the platform implementations, not available when
building for the host back to the libupdate_engine.

Bug: 24619596
TEST=mma

Change-Id: I16ab06c2e53dfd046e693bdb7310ec26a2d69054
/system/update_engine/boot_control_android.h
39910dcd1d68987ccee7c3031dc269233a8490bb 10-Nov-2015 Alex Deymo <deymo@google.com> Split payload application code into a subdirectory.

This patch splits from the main libupdate_engine code the part that
is strictly used to download and apply a payload into a new static
library, moving the code to subdirectories. The new library is divided
in two subdirectories: common/ and payload_consumer/, and should not
depend on other update_engine files outside those two subdirectories.
The main difference between those two is that the common/ tools are more
generic and not tied to the payload consumer process, but otherwise they
are both compiled together.

There are still dependencies from the new libpayload_consumer library
into the main directory files and DBus generated files. Those will be
addressed in follow up CLs.

Bug: 25197634
Test: FEATURES=test emerge-link update_engine; `mm` on Brillo.

Change-Id: Id8d0204ea573627e6e26ca9ea17b9592ca95bc23
/system/update_engine/boot_control_android.h
31d95ac85d294b2b1bfa293835013e66c010fbcf 17-Sep-2015 Alex Deymo <deymo@google.com> Mark the active slot from update_engine instead of /postinstall.

In Chrome OS, we were reliying on the /postinst script to generate the
verity hashes and mark the new kernel as bootable. This means that we
also need to run /postinst from the other (not verified) slot when
doing a user-initiated rollback. The update_engine already interacts
with the bootloader via the BootControlInterface to mark the other slot
as unbootable and check if there are other slots available for
rollback.

This patch moves the responsibility of marking the new slot as bootable
from the /postinst script to the update_engine, introducing a new
SetActiveBootSlot() method in the BootControlInterface. Chrome OS
builds will continue to mark the new slot as active from /postinstall
in order to be compatible with old builds, resulting in the new slot
marked as active twice during a successful normal update.

Bug: 23523562
Test: cros flash and image to the new daemon; rolled it back

Change-Id: I02502d7b8e85523a6eb9a7721053739e8381d266
/system/update_engine/boot_control_android.h
aa26f6240865d43f8cecc97bde7828f9b82bc17d 17-Sep-2015 Alex Deymo <deymo@google.com> Move MarkBootSuccessful to BootControlInterface.

Updating the boot flags to mark the current boot as successful is
platform-specific and part of the BootControlInterface's job. This
patch moves this to a new async method in this interface.

Bug: 24077637
Test: FEATURES=test emerge-link update_engine; cros flash in Chrome OS; tested on a dragonboard.

Change-Id: I23c3ed915dd8d2588a90d84b212bb04977957975
/system/update_engine/boot_control_android.h
753fadc8805f662e5af3a66f694207b04fbef8bb 15-Sep-2015 David Zeuthen <zeuthen@google.com> BootControlAndroid: Implement using libhardware.

This simply calls into the a boot_control HAL implementation loaded with
libhardware. I've tested it with the implementation located in
system/extras/boot_control_copy.

The only non-trivial routine here is GetPartitionDevice() which I've
hand-tested on a device using the following snippet of code:

string names[] = {"boot", "system", "nope_enoent"};
for (string name : names) {
for (int slot = 0; slot <= 2; slot++) {
string device;
if (!GetPartitionDevice(name, slot, &device))
device = "NOTHERE";
LOG(INFO) << "slot:" << slot << " part:" << name << " -> " << device;
}
}

Change-Id: I1280325bd7cd4cf1cc9a33ef13c2f46f215da6e6
/system/update_engine/boot_control_android.h
b17327ce55e7132da1f64039040df93a8c260fef 04-Sep-2015 Alex Deymo <deymo@google.com> New BootControlInterface implementation for Android.

This patch hides the platform-specific construction of a
BootControlInterface in a factory method shared by both Android and
Chromium OS. This also include a stub implementation for Android.

Bug: 23754584,23084776
TEST=emerge-link update_engine; `mma -i` builds these files without problem.

Change-Id: I43532e5cff1dc474453160f418ddd3c448f31938
/system/update_engine/boot_control_android.h