diff options
author | Bowgo Tsai <bowgotsai@google.com> | 2017-03-25 18:15:44 +0100 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-03-25 18:15:44 +0100 |
commit | 524d0da30933f01e2c1735db580e2ee4758e0336 (patch) | |
tree | 9a813b0d8ad6739f3eb602c11dd24101345a109d | |
parent | Merge "updater: Drop the support for BBOTA v1 and v2." am: 5479506c9c am: 7b82ad12f6 (diff) | |
parent | Merge "libbootloader_message: use different fstab paths for normal/recovery boot" am: 5f98326c1e (diff) | |
download | android_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 |
-rw-r--r-- | bootloader_message/bootloader_message.cpp | 10 |
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 ""; |