Merge "Moving FlashallTool Definition" am: 39b1de953f am: e492706352 am: d98a11ab9d

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2515685

Change-Id: I9949eb58f07252f23e78a1d15dbd4b3c7b01436a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Daniel Zheng 2023-04-19 23:27:08 +00:00 committed by Automerger Merge Worker
commit 5549447981
2 changed files with 33 additions and 32 deletions

View file

@ -115,19 +115,6 @@ static bool g_disable_verification = false;
fastboot::FastBootDriver* fb = nullptr;
enum fb_buffer_type {
FB_BUFFER_FD,
FB_BUFFER_SPARSE,
};
struct fastboot_buffer {
enum fb_buffer_type type;
std::vector<SparsePtr> files;
int64_t sz;
unique_fd fd;
int64_t image_size;
};
static std::vector<Image> images = {
// clang-format off
{ "boot", "boot.img", "boot.sig", "boot", false, ImageType::BootCritical },
@ -1784,25 +1771,6 @@ std::vector<std::unique_ptr<Task>> ParseFastbootInfo(const FlashingPlan* fp, std
return ParseFastbootInfo(fp, file);
}
class FlashAllTool {
public:
FlashAllTool(FlashingPlan* fp);
void Flash();
private:
void CheckRequirements();
void DetermineSlot();
void CollectImages();
void FlashImages(const std::vector<std::pair<const Image*, std::string>>& images);
void FlashImage(const Image& image, const std::string& slot, fastboot_buffer* buf);
void HardcodedFlash();
std::vector<ImageEntry> boot_images_;
std::vector<ImageEntry> os_images_;
FlashingPlan* fp_;
};
FlashAllTool::FlashAllTool(FlashingPlan* fp) : fp_(fp) {}
void FlashAllTool::Flash() {

View file

@ -29,6 +29,7 @@
#include <string>
#include "fastboot_driver.h"
#include "filesystem.h"
#include "super_flash_helper.h"
#include "util.h"
@ -47,6 +48,19 @@ class FastBootTool {
unsigned ParseFsOption(const char*);
};
enum fb_buffer_type {
FB_BUFFER_FD,
FB_BUFFER_SPARSE,
};
struct fastboot_buffer {
enum fb_buffer_type type;
std::vector<SparsePtr> files;
int64_t sz;
unique_fd fd;
int64_t image_size;
};
enum class ImageType {
// Must be flashed for device to boot into the kernel.
BootCritical,
@ -87,6 +101,25 @@ struct FlashingPlan {
fastboot::FastBootDriver* fb;
};
class FlashAllTool {
public:
FlashAllTool(FlashingPlan* fp);
void Flash();
private:
void CheckRequirements();
void DetermineSlot();
void CollectImages();
void FlashImages(const std::vector<std::pair<const Image*, std::string>>& images);
void FlashImage(const Image& image, const std::string& slot, fastboot_buffer* buf);
void HardcodedFlash();
std::vector<ImageEntry> boot_images_;
std::vector<ImageEntry> os_images_;
FlashingPlan* fp_;
};
bool should_flash_in_userspace(const std::string& partition_name);
bool is_userspace_fastboot();
void do_flash(const char* pname, const char* fname, const bool apply_vbmeta);