cgpt: Add support for NVMe

find: A p is added betwen device name and partition whenever the last
character of a device is a number, as written in disk_name() in kernel
block/partition-generic.c file.

debug_vboot: Add regex for nvme device.

BUG=chromium:655192
BRANCH=none
TEST=Check that when a machine boots from NVMe, chromeos-setgoodkernel
set "successful" field properly.
Run " dev_debug_vboot --cleanup", check the NVMe device kernel
partitions are verified.

Change-Id: I6a9342c95500fa582f51f06e48c1ff90684c2a27
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/398338
Reviewed-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
Gwendal Grignou
2016-10-13 13:18:37 -07:00
committed by chrome-bot
parent ea72ee454a
commit 08d56aa7a7
2 changed files with 10 additions and 2 deletions

View File

@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
#include <ctype.h>
#include <string.h> #include <string.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <sys/types.h> #include <sys/types.h>
@@ -74,7 +75,14 @@ static int match_content(CgptFindParams *params, struct drive *drive,
static void showmatch(CgptFindParams *params, char *filename, static void showmatch(CgptFindParams *params, char *filename,
int partnum, GptEntry *entry) { int partnum, GptEntry *entry) {
char * format = "%s%d\n"; char * format = "%s%d\n";
if (strncmp("/dev/mmcblk", filename, 11) == 0)
/*
* Follow convention from disk_name() in kernel block/partition-generic.c
* code:
* If the last digit of the device name is a number, add a 'p' between the
* device name and the partition number.
*/
if (isdigit(filename[strlen(filename) - 1]))
format = "%sp%d\n"; format = "%sp%d\n";
if (params->numeric) { if (params->numeric) {

View File

@@ -274,7 +274,7 @@ log crossystem --all
log rootdev -s log rootdev -s
log ls -aCF /root log ls -aCF /root
log ls -aCF /mnt/stateful_partition log ls -aCF /mnt/stateful_partition
devs=$(awk '/(mmcblk[0-9])$|(sd[a-z])$/ {print "/dev/"$4}' /proc/partitions) devs=$(awk '/(mmcblk[0-9])$|(sd[a-z])$|(nvme[0-9]+n[0-9]+)$/ {print "/dev/"$4}' /proc/partitions)
for d in $devs; do for d in $devs; do
log cgpt show $d log cgpt show $d
done done