Revert "first_stage_mount: Create snapshot devices before launching first_stage_console"
This reverts commit 9583e92257
.
Reason for revert: <fail to flash a device>
Bug: 178433260
Change-Id: I0e9ab3eff38ddf9ad420cf1479eca16f6f29d1b5
This commit is contained in:
parent
9583e92257
commit
4c467e3c15
|
@ -286,11 +286,7 @@ int FirstStageMain(int argc, char** argv) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (want_console == FirstStageConsoleParam::CONSOLE_ON_FAILURE) {
|
if (want_console == FirstStageConsoleParam::CONSOLE_ON_FAILURE) {
|
||||||
if (!DoCreateDevices()) {
|
|
||||||
LOG(ERROR) << "Failed to create device nodes early";
|
|
||||||
}
|
|
||||||
StartConsole(cmdline);
|
StartConsole(cmdline);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,7 +327,7 @@ int FirstStageMain(int argc, char** argv) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!DoFirstStageMount(want_console != FirstStageConsoleParam::CONSOLE_ON_FAILURE)) {
|
if (!DoFirstStageMount()) {
|
||||||
LOG(FATAL) << "Failed to mount required partitions early ...";
|
LOG(FATAL) << "Failed to mount required partitions early ...";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,6 @@ class FirstStageMount {
|
||||||
// The factory method to create either FirstStageMountVBootV1 or FirstStageMountVBootV2
|
// The factory method to create either FirstStageMountVBootV1 or FirstStageMountVBootV2
|
||||||
// based on device tree configurations.
|
// based on device tree configurations.
|
||||||
static std::unique_ptr<FirstStageMount> Create();
|
static std::unique_ptr<FirstStageMount> Create();
|
||||||
bool DoCreateDevices(); // Creates devices and logical partitions from storage devices
|
|
||||||
bool DoFirstStageMount(); // Mounts fstab entries read from device tree.
|
bool DoFirstStageMount(); // Mounts fstab entries read from device tree.
|
||||||
bool InitDevices();
|
bool InitDevices();
|
||||||
|
|
||||||
|
@ -245,7 +244,13 @@ std::unique_ptr<FirstStageMount> FirstStageMount::Create() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FirstStageMount::DoCreateDevices() {
|
bool FirstStageMount::DoFirstStageMount() {
|
||||||
|
if (!IsDmLinearEnabled() && fstab_.empty()) {
|
||||||
|
// Nothing to mount.
|
||||||
|
LOG(INFO) << "First stage mount skipped (missing/incompatible/empty fstab in device tree)";
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (!InitDevices()) return false;
|
if (!InitDevices()) return false;
|
||||||
|
|
||||||
// Mount /metadata before creating logical partitions, since we need to
|
// Mount /metadata before creating logical partitions, since we need to
|
||||||
|
@ -264,16 +269,6 @@ bool FirstStageMount::DoCreateDevices() {
|
||||||
|
|
||||||
if (!CreateLogicalPartitions()) return false;
|
if (!CreateLogicalPartitions()) return false;
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FirstStageMount::DoFirstStageMount() {
|
|
||||||
if (!IsDmLinearEnabled() && fstab_.empty()) {
|
|
||||||
// Nothing to mount.
|
|
||||||
LOG(INFO) << "First stage mount skipped (missing/incompatible/empty fstab in device tree)";
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!MountPartitions()) return false;
|
if (!MountPartitions()) return false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -834,18 +829,8 @@ bool FirstStageMountVBootV2::InitAvbHandle() {
|
||||||
|
|
||||||
// Public functions
|
// Public functions
|
||||||
// ----------------
|
// ----------------
|
||||||
// Creates devices and logical partitions from storage devices
|
|
||||||
bool DoCreateDevices() {
|
|
||||||
std::unique_ptr<FirstStageMount> handle = FirstStageMount::Create();
|
|
||||||
if (!handle) {
|
|
||||||
LOG(ERROR) << "Failed to create FirstStageMount";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return handle->DoCreateDevices();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mounts partitions specified by fstab in device tree.
|
// Mounts partitions specified by fstab in device tree.
|
||||||
bool DoFirstStageMount(bool create_devices) {
|
bool DoFirstStageMount() {
|
||||||
// Skips first stage mount if we're in recovery mode.
|
// Skips first stage mount if we're in recovery mode.
|
||||||
if (IsRecoveryMode()) {
|
if (IsRecoveryMode()) {
|
||||||
LOG(INFO) << "First stage mount skipped (recovery mode)";
|
LOG(INFO) << "First stage mount skipped (recovery mode)";
|
||||||
|
@ -857,11 +842,6 @@ bool DoFirstStageMount(bool create_devices) {
|
||||||
LOG(ERROR) << "Failed to create FirstStageMount";
|
LOG(ERROR) << "Failed to create FirstStageMount";
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (create_devices) {
|
|
||||||
if (!handle->DoCreateDevices()) return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return handle->DoFirstStageMount();
|
return handle->DoFirstStageMount();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,7 @@
|
||||||
namespace android {
|
namespace android {
|
||||||
namespace init {
|
namespace init {
|
||||||
|
|
||||||
bool DoCreateDevices();
|
bool DoFirstStageMount();
|
||||||
bool DoFirstStageMount(bool create_devices);
|
|
||||||
void SetInitAvbVersionInRecovery();
|
void SetInitAvbVersionInRecovery();
|
||||||
|
|
||||||
} // namespace init
|
} // namespace init
|
||||||
|
|
Loading…
Reference in New Issue