diff --git a/fs_mgr/fs_mgr_remount.cpp b/fs_mgr/fs_mgr_remount.cpp index 24044d873..093d44d41 100644 --- a/fs_mgr/fs_mgr_remount.cpp +++ b/fs_mgr/fs_mgr_remount.cpp @@ -340,6 +340,7 @@ int main(int argc, char* argv[]) { blk_device = rentry.blk_device; break; } + // Find overlayfs mount point? if ((mount_point == "/") && (rentry.mount_point == "/system")) { blk_device = rentry.blk_device; mount_point = "/system"; @@ -352,6 +353,12 @@ int main(int argc, char* argv[]) { } fs_mgr_set_blk_ro(blk_device, false); + // Find system-as-root mount point? + if ((mount_point == "/system") && !GetEntryForMountPoint(&mounts, mount_point) && + GetEntryForMountPoint(&mounts, "/")) { + mount_point = "/"; + } + // Now remount! if (::mount(blk_device.c_str(), mount_point.c_str(), entry.fs_type.c_str(), MS_REMOUNT, nullptr) == 0) {