summaryrefslogtreecommitdiffstats
path: root/bootloader_message/bootloader_message.cpp
diff options
context:
space:
mode:
authorBowgo Tsai <bowgotsai@google.com>2017-03-25 18:15:44 +0100
committerandroid-build-merger <android-build-merger@google.com>2017-03-25 18:15:44 +0100
commit524d0da30933f01e2c1735db580e2ee4758e0336 (patch)
tree9a813b0d8ad6739f3eb602c11dd24101345a109d /bootloader_message/bootloader_message.cpp
parentMerge "updater: Drop the support for BBOTA v1 and v2." am: 5479506c9c am: 7b82ad12f6 (diff)
parentMerge "libbootloader_message: use different fstab paths for normal/recovery boot" am: 5f98326c1e (diff)
downloadandroid_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.tar
android_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.tar.gz
android_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.tar.bz2
android_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.tar.lz
android_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.tar.xz
android_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.tar.zst
android_bootable_recovery-524d0da30933f01e2c1735db580e2ee4758e0336.zip
Diffstat (limited to 'bootloader_message/bootloader_message.cpp')
-rw-r--r--bootloader_message/bootloader_message.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/bootloader_message/bootloader_message.cpp b/bootloader_message/bootloader_message.cpp
index d8086be28..d17e055bb 100644
--- a/bootloader_message/bootloader_message.cpp
+++ b/bootloader_message/bootloader_message.cpp
@@ -19,6 +19,7 @@
#include <errno.h>
#include <fcntl.h>
#include <string.h>
+#include <unistd.h>
#include <string>
#include <vector>
@@ -30,8 +31,13 @@
#include <fs_mgr.h>
static std::string get_misc_blk_device(std::string* err) {
- std::unique_ptr<fstab, decltype(&fs_mgr_free_fstab)> fstab(fs_mgr_read_fstab_default(),
- fs_mgr_free_fstab);
+ std::unique_ptr<fstab, decltype(&fs_mgr_free_fstab)> fstab(nullptr, fs_mgr_free_fstab);
+ // Use different fstab paths for normal boot and recovery boot, respectively
+ if (access("/sbin/recovery", F_OK) == 0) {
+ fstab.reset(fs_mgr_read_fstab_with_dt("/etc/recovery.fstab"));
+ } else {
+ fstab.reset(fs_mgr_read_fstab_default());
+ }
if (!fstab) {
*err = "failed to read default fstab";
return "";