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
diff --git a/Android.mk b/Android.mk
index be9c761..70cbdce 100644
--- a/Android.mk
+++ b/Android.mk
@@ -107,12 +107,15 @@
update_engine-dbus-adaptor \
update_engine-dbus-libcros-client \
update_engine_client-dbus-proxies \
- libbz
+ libbz \
+ libfs_mgr
LOCAL_SHARED_LIBRARIES += \
libprotobuf-cpp-lite-rtti \
libdbus \
libcrypto \
libcurl \
+ libcutils \
+ libhardware \
libmetrics \
libssl \
libexpat \
@@ -187,6 +190,7 @@
LOCAL_STATIC_LIBRARIES += \
libupdate_engine \
libbz \
+ libfs_mgr \
update_metadata-protos \
update_engine-dbus-adaptor \
update_engine-dbus-libcros-client \
@@ -196,6 +200,8 @@
libdbus \
libcrypto \
libcurl \
+ libcutils \
+ libhardware \
libmetrics \
libssl \
libexpat \
@@ -230,6 +236,7 @@
LOCAL_STATIC_LIBRARIES += \
libupdate_engine \
libbz \
+ libfs_mgr \
update_metadata-protos \
update_engine-dbus-adaptor \
update_engine-dbus-libcros-client \
@@ -279,6 +286,7 @@
libpayload_generator \
libupdate_engine \
libbz \
+ libfs_mgr \
update_metadata-protos \
update_engine-dbus-adaptor \
update_engine-dbus-libcros-client \