diff options
author | Elliott Hughes <enh@google.com> | 2018-03-29 14:46:29 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2018-04-02 11:01:48 -0700 |
commit | f238d8751b9960362ae0cf7e5476ab510461db9d (patch) | |
tree | d91ea7f622213a52ce0fdbb3e325fbaaf1bba122 /fastboot | |
parent | 539f3ddff5ffb124fa75d4557647092d601d9d69 (diff) | |
download | system_core-f238d8751b9960362ae0cf7e5476ab510461db9d.tar.gz system_core-f238d8751b9960362ae0cf7e5476ab510461db9d.tar.bz2 system_core-f238d8751b9960362ae0cf7e5476ab510461db9d.zip |
Modernize fastboot output format.
After:
--------------------------------------------
Bootloader Version...: 0.5
Baseband Version.....: 0.5
Serial Number........: serialv1.0
--------------------------------------------
Checking product OKAY [ 0.032s]
Sending 'boot' (9962 KB) OKAY [ 0.350s]
Writing 'boot' OKAY [ 0.143s]
Sending 'dts' (14 KB) OKAY [ 0.068s]
Writing 'dts' OKAY [ 0.048s]
Sending sparse 'system' 1/2 (460796 KB) OKAY [ 14.383s]
Writing sparse 'system' 1/2 OKAY [ 4.138s]
Sending sparse 'system' 2/2 (443712 KB) OKAY [ 13.871s]
Writing sparse 'system' 2/2 OKAY [ 3.246s]
Rebooting
Finished. Total time: 36.962s
For a failure:
extracting android-info.txt (0 MB) to RAM...
--------------------------------------------
Bootloader Version...: 0.5
Baseband Version.....: 0.5
Serial Number........: serialv1.0
--------------------------------------------
Checking product FAILED
Device product is 'hikey960'.
Update requires 'marlin' or 'sailfish'.
fastboot: error: requirements not met!
This change also adds a -v/--verbose flag, but doesn't make much use of
it yet (http://b/30953083 will need it).
Bug: N/A
Test: manual
Change-Id: I7d19f5775859ffad5f3be5707b37dcb6e180917f
Diffstat (limited to 'fastboot')
-rw-r--r-- | fastboot/engine.cpp | 25 | ||||
-rw-r--r-- | fastboot/fastboot.cpp | 16 | ||||
-rw-r--r-- | fastboot/util.cpp | 2 |
3 files changed, 25 insertions, 18 deletions
diff --git a/fastboot/engine.cpp b/fastboot/engine.cpp index 60b71247e..875e7b96d 100644 --- a/fastboot/engine.cpp +++ b/fastboot/engine.cpp @@ -109,32 +109,32 @@ static Action& queue_action(Op op, const std::string& cmd) { void fb_set_active(const std::string& slot) { Action& a = queue_action(OP_COMMAND, "set_active:" + slot); - a.msg = "Setting current slot to '" + slot + "'..."; + a.msg = "Setting current slot to '" + slot + "'"; } void fb_queue_erase(const std::string& partition) { Action& a = queue_action(OP_COMMAND, "erase:" + partition); - a.msg = "Erasing '" + partition + "'..."; + a.msg = "Erasing '" + partition + "'"; } void fb_queue_flash_fd(const std::string& partition, int fd, uint32_t sz) { Action& a = queue_action(OP_DOWNLOAD_FD, ""); a.fd = fd; a.size = sz; - a.msg = android::base::StringPrintf("Sending '%s' (%d KB)...", partition.c_str(), sz / 1024); + a.msg = android::base::StringPrintf("Sending '%s' (%u KB)", partition.c_str(), sz / 1024); Action& b = queue_action(OP_COMMAND, "flash:" + partition); - b.msg = "Writing '" + partition + "'..."; + b.msg = "Writing '" + partition + "'"; } void fb_queue_flash(const std::string& partition, void* data, uint32_t sz) { Action& a = queue_action(OP_DOWNLOAD, ""); a.data = data; a.size = sz; - a.msg = android::base::StringPrintf("Sending '%s' (%d KB)...", partition.c_str(), sz / 1024); + a.msg = android::base::StringPrintf("Sending '%s' (%u KB)", partition.c_str(), sz / 1024); Action& b = queue_action(OP_COMMAND, "flash:" + partition); - b.msg = "Writing '" + partition + "'..."; + b.msg = "Writing '" + partition + "'"; } void fb_queue_flash_sparse(const std::string& partition, struct sparse_file* s, uint32_t sz, @@ -142,12 +142,12 @@ void fb_queue_flash_sparse(const std::string& partition, struct sparse_file* s, Action& a = queue_action(OP_DOWNLOAD_SPARSE, ""); a.data = s; a.size = 0; - a.msg = android::base::StringPrintf("Sending sparse '%s' %zu/%zu (%d KB)...", partition.c_str(), + a.msg = android::base::StringPrintf("Sending sparse '%s' %zu/%zu (%u KB)", partition.c_str(), current, total, sz / 1024); Action& b = queue_action(OP_COMMAND, "flash:" + partition); - b.msg = - android::base::StringPrintf("Writing '%s' %zu/%zu...", partition.c_str(), current, total); + b.msg = android::base::StringPrintf("Writing sparse '%s' %zu/%zu", partition.c_str(), current, + total); } static int match(const char* str, const char** value, unsigned count) { @@ -270,7 +270,7 @@ static int cb_do_nothing(Action&, int, const char*) { void fb_queue_reboot() { Action& a = queue_action(OP_COMMAND, "reboot"); a.func = cb_do_nothing; - a.msg = "Rebooting..."; + a.msg = "Rebooting"; } void fb_queue_command(const std::string& cmd, const std::string& msg) { @@ -289,7 +289,7 @@ void fb_queue_download_fd(const std::string& name, int fd, uint32_t sz) { Action& a = queue_action(OP_DOWNLOAD_FD, ""); a.fd = fd; a.size = sz; - a.msg = android::base::StringPrintf("Sending '%s' (%d KB)", name.c_str(), sz / 1024); + a.msg = android::base::StringPrintf("Sending '%s' (%u KB)", name.c_str(), sz / 1024); } void fb_queue_upload(const std::string& outfile) { @@ -312,7 +312,7 @@ int64_t fb_execute_queue(Transport* transport) { for (auto& a : action_list) { a->start = now(); if (!a->msg.empty()) { - fprintf(stderr, "%s\n", a->msg.c_str()); + fprintf(stderr, "%-50s ", a->msg.c_str()); } if (a->op == OP_DOWNLOAD) { status = fb_download_data(transport, a->data, a->size); @@ -333,6 +333,7 @@ int64_t fb_execute_queue(Transport* transport) { if (status) break; } else if (a->op == OP_NOTICE) { // We already showed the notice because it's in `Action::msg`. + fprintf(stderr, "\n"); } else if (a->op == OP_DOWNLOAD_SPARSE) { status = fb_download_data_sparse(transport, reinterpret_cast<sparse_file*>(a->data)); status = a->func(*a, status, status ? fb_get_error().c_str() : ""); diff --git a/fastboot/fastboot.cpp b/fastboot/fastboot.cpp index 237f08170..7a30aeea6 100644 --- a/fastboot/fastboot.cpp +++ b/fastboot/fastboot.cpp @@ -95,6 +95,7 @@ static unsigned tags_offset = 0x00000100; static bool g_disable_verity = false; static bool g_disable_verification = false; +static bool g_verbose = false; static const std::string convert_fbe_marker_filename("convert_fbe"); @@ -426,7 +427,7 @@ static int show_help() { " trigger a reboot.\n" " --disable-verity Set the disable-verity flag in the\n" " the vbmeta image being flashed.\n" - " --disable-verification Set the disable-verification flag in" + " --disable-verification Set the disable-verification flag in\n" " the vbmeta image being flashed.\n" #if !defined(_WIN32) " --wipe-and-use-fbe On devices which support it,\n" @@ -434,6 +435,7 @@ static int show_help() { " enable file-based encryption\n" #endif " --unbuffered Do not buffer input or output.\n" + " -v, --verbose Verbose output.\n" " --version Display version.\n" " -h, --help show this message.\n" ); @@ -783,8 +785,8 @@ static int64_t get_target_sparse_limit(Transport* transport) { fprintf(stderr, "couldn't parse max-download-size '%s'\n", max_download_size.c_str()); return 0; } - if (limit > 0) { - fprintf(stderr, "target reported max download size of %" PRId64 " bytes\n", limit); + if (g_verbose && limit > 0) { + fprintf(stderr, "Target reported max download size of %" PRId64 " bytes\n", limit); } return limit; } @@ -1517,12 +1519,13 @@ int main(int argc, char **argv) {"tags-offset", required_argument, 0, 't'}, {"help", no_argument, 0, 'h'}, {"unbuffered", no_argument, 0, 0}, - {"version", no_argument, 0, 0}, {"slot", required_argument, 0, 0}, {"set_active", optional_argument, 0, 'a'}, {"set-active", optional_argument, 0, 'a'}, {"skip-secondary", no_argument, 0, 0}, {"skip-reboot", no_argument, 0, 0}, + {"verbose", no_argument, 0, 'v'}, + {"version", no_argument, 0, 0}, {"disable-verity", no_argument, 0, 0}, {"disable-verification", no_argument, 0, 0}, #if !defined(_WIN32) @@ -1534,7 +1537,7 @@ int main(int argc, char **argv) serial = getenv("ANDROID_SERIAL"); while (1) { - int c = getopt_long(argc, argv, "wub:k:n:r:t:s:S:lc:i:m:ha::", longopts, &longindex); + int c = getopt_long(argc, argv, "vwub:k:n:r:t:s:S:lc:i:m:ha::", longopts, &longindex); if (c < 0) { break; } @@ -1589,6 +1592,9 @@ int main(int argc, char **argv) case 'u': erase_first = false; break; + case 'v': + g_verbose = true; + break; case 'w': wants_wipe = true; break; diff --git a/fastboot/util.cpp b/fastboot/util.cpp index fb085e757..53fc1be29 100644 --- a/fastboot/util.cpp +++ b/fastboot/util.cpp @@ -44,7 +44,7 @@ double now() { void die(const char* fmt, ...) { va_list ap; va_start(ap, fmt); - fprintf(stderr,"error: "); + fprintf(stderr, "fastboot: error: "); vfprintf(stderr, fmt, ap); fprintf(stderr,"\n"); va_end(ap); |