diff --git a/Android.mk b/Android.mk index 7be12306..429c52db 100644 --- a/Android.mk +++ b/Android.mk @@ -58,8 +58,8 @@ LOCAL_MODULE := recovery_deps ifeq ($(TARGET_USERIMAGES_USE_F2FS),true) ifeq ($(HOST_OS),linux) LOCAL_REQUIRED_MODULES += \ - sload.f2fs \ - mkfs.f2fs + make_f2fs.recovery \ + sload_f2fs.recovery endif endif diff --git a/CleanSpec.mk b/CleanSpec.mk index e2d97d42..fec823e7 100644 --- a/CleanSpec.mk +++ b/CleanSpec.mk @@ -49,3 +49,4 @@ # ************************************************ $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/EXECUTABLES/recovery_intermediates) $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libminui_intermediates/import_includes) +$(call add-clean-step, rm -rf $(PRODUCT_OUT)/recovery/root/sbin) diff --git a/roots.cpp b/roots.cpp index 6db0ca51..290be477 100644 --- a/roots.cpp +++ b/roots.cpp @@ -223,35 +223,29 @@ int format_volume(const std::string& volume, const std::string& directory) { // Has to be f2fs because we checked earlier. static constexpr int kSectorSize = 4096; - std::string cmd("/sbin/mkfs.f2fs"); - // clang-format off std::vector make_f2fs_cmd = { - cmd, - "-g", "android", + "/system/bin/make_f2fs", + "-g", + "android", v->blk_device, }; - // clang-format on if (length >= kSectorSize) { make_f2fs_cmd.push_back(std::to_string(length / kSectorSize)); } - int result = exec_cmd(make_f2fs_cmd); - if (result == 0 && !directory.empty()) { - cmd = "/sbin/sload.f2fs"; - // clang-format off - std::vector sload_f2fs_cmd = { - cmd, - "-f", directory, - "-t", volume, - v->blk_device, - }; - // clang-format on - result = exec_cmd(sload_f2fs_cmd); - } - if (result != 0) { - PLOG(ERROR) << "format_volume: Failed " << cmd << " on " << v->blk_device; + if (exec_cmd(make_f2fs_cmd) != 0) { + PLOG(ERROR) << "format_volume: Failed to make_f2fs on " << v->blk_device; return -1; } + if (!directory.empty()) { + std::vector sload_f2fs_cmd = { + "/system/bin/sload_f2fs", "-f", directory, "-t", volume, v->blk_device, + }; + if (exec_cmd(sload_f2fs_cmd) != 0) { + PLOG(ERROR) << "format_volume: Failed to sload_f2fs on " << v->blk_device; + return -1; + } + } return 0; } diff --git a/updater/install.cpp b/updater/install.cpp index 0e1028bd..20a204a8 100644 --- a/updater/install.cpp +++ b/updater/install.cpp @@ -482,18 +482,19 @@ Value* FormatFn(const char* name, State* state, const std::vector f2fs_args = { - "/sbin/mkfs.f2fs", "-g", "android", "-w", "512", location + "/system/bin/make_f2fs", "-g", "android", "-w", "512", location }; if (size >= 512) { f2fs_args.push_back(std::to_string(size / 512)); } if (auto status = exec_cmd(f2fs_args); status != 0) { - LOG(ERROR) << name << ": mkfs.f2fs failed (" << status << ") on " << location; + LOG(ERROR) << name << ": make_f2fs failed (" << status << ") on " << location; return StringValue(""); } - if (auto status = exec_cmd({ "/sbin/sload.f2fs", "-t", mount_point, location }); status != 0) { - LOG(ERROR) << name << ": sload.f2fs failed (" << status << ") on " << location; + if (auto status = exec_cmd({ "/system/bin/sload_f2fs", "-t", mount_point, location }); + status != 0) { + LOG(ERROR) << name << ": sload_f2fs failed (" << status << ") on " << location; return StringValue(""); }