Merge "fs_mgr: allow boot_devices to be supplies on the kernel commandline"

am: 8f1fcd5b94

Change-Id: Iaf3349178ab735bef8c9b64eddcb725ef954831a
This commit is contained in:
Tom Cherry 2018-12-13 14:56:37 -08:00 committed by android-build-merger
commit 0be6513e9a

View file

@ -33,6 +33,7 @@
#include "fs_mgr_priv.h"
using android::base::Split;
using android::base::StartsWith;
const std::string kDefaultAndroidDtDir("/proc/device-tree/firmware/android");
@ -850,11 +851,12 @@ struct fstab_rec* fs_mgr_get_entry_for_mount_point(struct fstab* fstab, const st
}
std::set<std::string> fs_mgr_get_boot_devices() {
// boot_devices can be specified in device tree.
std::string dt_value;
std::string file_name = get_android_dt_dir() + "/boot_devices";
if (read_dt_file(file_name, &dt_value)) {
auto boot_devices = android::base::Split(dt_value, ",");
// First check the kernel commandline, then try the device tree otherwise
std::string dt_file_name = get_android_dt_dir() + "/boot_devices";
std::string value;
if (fs_mgr_get_boot_config_from_kernel_cmdline("boot_devices", &value) ||
read_dt_file(dt_file_name, &value)) {
auto boot_devices = Split(value, ",");
return std::set<std::string>(boot_devices.begin(), boot_devices.end());
}