"view recovery logs" will show /tmp/recovery.log
For A/B devices, "view recovery logs" doesn't work due to the lack of cache partition. To help debugging, we'll show /tmp/recovery.log instead if /cache is not found. Change-Id: Idb77c3a4c30388148a210b38d732a7b27e757bba Test: Tested on an A/B device and /tmp/recovery.log showed up. Bug: 30905700
This commit is contained in:
parent
cb76857147
commit
a54f75ede8
1 changed files with 36 additions and 31 deletions
15
recovery.cpp
15
recovery.cpp
|
@ -891,17 +891,13 @@ static bool brick_device() {
|
|||
}
|
||||
|
||||
static void choose_recovery_file(Device* device) {
|
||||
if (!has_cache) {
|
||||
ui->Print("No /cache partition found.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
// "Back" + KEEP_LOG_COUNT * 2 + terminating nullptr entry
|
||||
char* entries[1 + KEEP_LOG_COUNT * 2 + 1];
|
||||
memset(entries, 0, sizeof(entries));
|
||||
|
||||
unsigned int n = 0;
|
||||
|
||||
if (has_cache) {
|
||||
// Add LAST_LOG_FILE + LAST_LOG_FILE.x
|
||||
// Add LAST_KMSG_FILE + LAST_KMSG_FILE.x
|
||||
for (int i = 0; i < KEEP_LOG_COUNT; i++) {
|
||||
|
@ -932,6 +928,15 @@ static void choose_recovery_file(Device* device) {
|
|||
entries[n++] = kmsg_file;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// If cache partition is not found, view /tmp/recovery.log instead.
|
||||
ui->Print("No /cache partition found.\n");
|
||||
if (access(TEMPORARY_LOG_FILE, R_OK) == -1) {
|
||||
return;
|
||||
} else{
|
||||
entries[n++] = strdup(TEMPORARY_LOG_FILE);
|
||||
}
|
||||
}
|
||||
|
||||
entries[n++] = strdup("Back");
|
||||
|
||||
|
|
Loading…
Reference in a new issue