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 \
diff --git a/boot_control.h b/boot_control.h
index d6c403b..ae90f82 100644
--- a/boot_control.h
+++ b/boot_control.h
@@ -25,7 +25,8 @@
 namespace boot_control {
 
 // The real BootControlInterface is platform-specific. This factory function
-// creates a new BootControlInterface instance for the current platform.
+// creates a new BootControlInterface instance for the current platform. If
+// this fails nullptr is returned.
 std::unique_ptr<BootControlInterface> CreateBootControl();
 
 }  // namespace boot_control
diff --git a/boot_control_android.cc b/boot_control_android.cc
index fa9defd..4bb3b92 100644
--- a/boot_control_android.cc
+++ b/boot_control_android.cc
@@ -16,45 +16,162 @@
 
 #include "update_engine/boot_control_android.h"
 
+#include <base/logging.h>
+#include <base/files/file_util.h>
+#include <base/strings/string_util.h>
 #include <chromeos/make_unique_ptr.h>
+#include <cutils/properties.h>
+#include <fs_mgr.h>
 
-#include "update_engine/boot_control.h"
+#include "update_engine/utils.h"
 
 using std::string;
 
+namespace {
+
+// Open the appropriate fstab file and fallback to /fstab.device if
+// that's what's being used.
+static struct fstab* OpenFSTab() {
+  char propbuf[PROPERTY_VALUE_MAX];
+  struct fstab* fstab;
+
+  property_get("ro.hardware", propbuf, "");
+  string fstab_name = string("/fstab.") + propbuf;
+  fstab = fs_mgr_read_fstab(fstab_name.c_str());
+  if (fstab != nullptr)
+    return fstab;
+
+  fstab = fs_mgr_read_fstab("/fstab.device");
+  return fstab;
+}
+
+}  // namespace
+
+
 namespace chromeos_update_engine {
 
 namespace boot_control {
 
 // Factory defined in boot_control.h.
 std::unique_ptr<BootControlInterface> CreateBootControl() {
-  return chromeos::make_unique_ptr(new BootControlAndroid());
+  std::unique_ptr<BootControlAndroid> boot_control(new BootControlAndroid());
+  if (!boot_control->Init()) {
+    return nullptr;
+  }
+  return chromeos::make_unique_ptr(boot_control.release());
 }
 
 }  // namespace boot_control
 
-// TODO(deymo): Read the values from the libhardware HAL.
+bool BootControlAndroid::Init() {
+  const hw_module_t* hw_module;
+  int ret;
+
+  ret = hw_get_module(BOOT_CONTROL_HARDWARE_MODULE_ID, &hw_module);
+  if (ret != 0) {
+    LOG(ERROR) << "Error loading boot_control HAL implementation.";
+    return false;
+  }
+
+  module_ = reinterpret_cast<boot_control_module_t*>(const_cast<hw_module_t*>(hw_module));
+  module_->init(module_);
+
+  LOG(INFO) << "Loaded boot_control HAL "
+            << "'" << hw_module->name << "' "
+            << "version " << (hw_module->module_api_version>>8) << "."
+            << (hw_module->module_api_version&0xff) << " "
+            << "authored by '" << hw_module->author << "'.";
+  return true;
+}
 
 unsigned int BootControlAndroid::GetNumSlots() const {
-  return 2;
+  return module_->getNumberSlots(module_);
 }
 
 BootControlInterface::Slot BootControlAndroid::GetCurrentSlot() const {
-  return 0;
+  return module_->getCurrentSlot(module_);
 }
 
 bool BootControlAndroid::GetPartitionDevice(const string& partition_name,
-                                            unsigned int slot,
+                                            Slot slot,
                                             string* device) const {
-  return false;
+  struct fstab* fstab;
+  struct fstab_rec* record;
+
+  // We can't use fs_mgr to look up |partition_name| because fstab
+  // doesn't list every slot partition (it uses the slotselect option
+  // to mask the suffix).
+  //
+  // We can however assume that there's an entry for the /misc mount
+  // point and use that to get the device file for the misc
+  // partition. This helps us locate the disk that |partition_name|
+  // resides on. From there we'll assume that a by-name scheme is used
+  // so we can just replace the trailing "misc" by the given
+  // |partition_name| and suffix corresponding to |slot|, e.g.
+  //
+  //   /dev/block/platform/soc.0/7824900.sdhci/by-name/misc ->
+  //   /dev/block/platform/soc.0/7824900.sdhci/by-name/boot_a
+  //
+  // If needed, it's possible to relax the by-name assumption in the
+  // future by trawling /sys/block looking for the appropriate sibling
+  // of misc and then finding an entry in /dev matching the sysfs
+  // entry.
+
+  fstab = OpenFSTab();
+  if (fstab == nullptr) {
+    LOG(ERROR) << "Error opening fstab file.";
+    return false;
+  }
+  record = fs_mgr_get_entry_for_mount_point(fstab, "/misc");
+  if (record == nullptr) {
+    LOG(ERROR) << "Error finding /misc entry in fstab file.";
+    fs_mgr_free_fstab(fstab);
+    return false;
+  }
+
+  base::FilePath misc_device = base::FilePath(record->blk_device);
+  fs_mgr_free_fstab(fstab);
+
+  if (misc_device.BaseName() != base::FilePath("misc")) {
+    LOG(ERROR) << "Device file " << misc_device.value() << " for /misc "
+               << "is not in the expected format.";
+    return false;
+  }
+
+  const char* suffix = module_->getSuffix(module_, slot);
+  if (suffix == nullptr) {
+    LOG(ERROR) << "boot_control impl returned no suffix for slot " << slot;
+    return false;
+  }
+
+  base::FilePath path = misc_device.DirName().Append(partition_name + suffix);
+  if (!base::PathExists(path)) {
+    LOG(ERROR) << "Device file " << path.value() << " does not exist.";
+    return false;
+  }
+
+  *device = path.value();
+  return true;
 }
 
 bool BootControlAndroid::IsSlotBootable(Slot slot) const {
-  return false;
+  int ret = module_->isSlotBootable(module_, slot);
+  if (ret < 0) {
+    LOG(ERROR) << "Unable to determine if slot " << slot
+               << " is bootable: " << strerror(-ret);
+    return false;
+  }
+  return ret == 1;
 }
 
 bool BootControlAndroid::MarkSlotUnbootable(Slot slot) {
-  return true;
+  int ret = module_->setSlotAsUnbootable(module_, slot);
+  if (ret < 0) {
+    LOG(ERROR) << "Unable to mark slot " << slot
+               << " as bootable: " << strerror(-ret);
+    return false;
+  }
+  return ret == 0;
 }
 
 }  // namespace chromeos_update_engine
diff --git a/boot_control_android.h b/boot_control_android.h
index 21c5878..2e218a0 100644
--- a/boot_control_android.h
+++ b/boot_control_android.h
@@ -19,9 +19,10 @@
 
 #include <string>
 
-#include <gtest/gtest_prod.h>  // for FRIEND_TEST
+#include <hardware/boot_control.h>
+#include <hardware/hardware.h>
 
-#include "update_engine/boot_control_interface.h"
+#include "update_engine/boot_control.h"
 
 namespace chromeos_update_engine {
 
@@ -32,6 +33,10 @@
   BootControlAndroid() = default;
   ~BootControlAndroid() = default;
 
+  // Load boot_control HAL implementation using libhardware and
+  // initializes it. Returns false if an error occurred.
+  bool Init();
+
   // BootControlInterface overrides.
   unsigned int GetNumSlots() const override;
   BootControlInterface::Slot GetCurrentSlot() const override;
@@ -42,6 +47,10 @@
   bool MarkSlotUnbootable(BootControlInterface::Slot slot) override;
 
  private:
+  // NOTE: There is no way to release/unload HAL implementations so
+  // this is essentially leaked on object destruction.
+  boot_control_module_t* module_;
+
   DISALLOW_COPY_AND_ASSIGN(BootControlAndroid);
 };
 
