fastboot: Resize logical partitions when using the flash command.
If an image size changes slightly in between "flashall" and some change in the build, it's inconvenient to have to reflash the whole device again. This patch resizes partitions when using a normal flash command, to improve the developer workflow. Bug: N/A Test: fastboot flash system Change-Id: I349364a4742a0c15748f545fcfda946107720d45
This commit is contained in:
parent
0444a8cbd9
commit
629e51c109
|
@ -1096,12 +1096,20 @@ static void do_for_partitions(const std::string& part, const std::string& slot,
|
|||
}
|
||||
}
|
||||
|
||||
static bool is_logical(const std::string& partition) {
|
||||
std::string value;
|
||||
return fb->GetVar("is-logical:" + partition, &value) == fastboot::SUCCESS && value == "yes";
|
||||
}
|
||||
|
||||
static void do_flash(const char* pname, const char* fname) {
|
||||
struct fastboot_buffer buf;
|
||||
|
||||
if (!load_buf(fname, &buf)) {
|
||||
die("cannot load '%s': %s", fname, strerror(errno));
|
||||
}
|
||||
if (is_logical(pname)) {
|
||||
fb->ResizePartition(pname, std::to_string(buf.image_size));
|
||||
}
|
||||
flash_buf(pname, &buf);
|
||||
}
|
||||
|
||||
|
@ -1144,11 +1152,6 @@ static bool if_partition_exists(const std::string& partition, const std::string&
|
|||
return fb->GetVar("partition-size:" + partition_name, &partition_size) == fastboot::SUCCESS;
|
||||
}
|
||||
|
||||
static bool is_logical(const std::string& partition) {
|
||||
std::string value;
|
||||
return fb->GetVar("is-logical:" + partition, &value) == fastboot::SUCCESS && value == "yes";
|
||||
}
|
||||
|
||||
static void reboot_to_userspace_fastboot() {
|
||||
fb->RebootTo("fastboot");
|
||||
|
||||
|
|
Loading…
Reference in New Issue