diff --git a/init/init_first_stage.cpp b/init/init_first_stage.cpp index 43f1c1504..2fa790d40 100644 --- a/init/init_first_stage.cpp +++ b/init/init_first_stage.cpp @@ -143,8 +143,11 @@ bool FirstStageMount::InitDevices() { if (!GetRequiredDevices(&devices_partition_names, &need_dm_verity)) return false; if (need_dm_verity) { - device_init("/sys/devices/virtual/misc/device-mapper", - [&](uevent* uevent) -> coldboot_action_t { return COLDBOOT_STOP; }); + const std::string dm_path = "/devices/virtual/misc/device-mapper"; + device_init(("/sys" + dm_path).c_str(), [&dm_path](uevent* uevent) -> coldboot_action_t { + if (uevent->path == dm_path) return COLDBOOT_STOP; + return COLDBOOT_CONTINUE; // dm_path not found, continue to find it. + }); } bool success = false;