root=PARTUUID for MBR/NT disk signatures?

From: Stephen Warren
Date: Fri Aug 17 2012 - 18:11:31 EST


I was considering extending the kernel command-line option
root=PARTUUID= to also support MBR (NT disk signatures). I was thinking
of a syntax along the lines of:

root=PARTUUID=UUUUUUUU-PP[/PARTNROFF=%d]

... where UUUUUUUU is the hex representation of the NT disk signature,
and PP is the hex representation of the partition number. Like GPT,
/PARTNROFF could be used too if desired.

Related, I was thinking of changing struct partition_meta_info's uuid
field to be a string, so that it could simply be strcmp'd against the
UUID value on the kernel command-line. That way, the type of the UUID is
irrelevant.

Does anyone have any objection to that?

The reason I aim for that syntax rather than say:

root=MBRSIG=UUUUUUUU-PP[/PARTNROFF=%d]

... is to allow boot-loaders (e.g. U-Boot on ARM) to store just the
partition ID in a variable, and prepend all the Linux-specific stuff on
the front, e.g.

# For GPT:
setenv kernel_part_uuid b2f82cda-2535-4779-b467-094a210fbae7
# For MBR:
setenv kernel_part_uuid UUUUUUUU-PP

In fact, those hard-coded statements would probably be replaced with a
run-time command:

part uuid mmc 0:1 kernel_part_uuid

# Then in a common script:
setenv bootargs root=PARTUUID=${kernel_part_uuid}

Otherwise, the value of the uuid variable (or result of the "part uuid"
command) would need to prepend the PARTUUID= or MBRSIG= to the "uuid"
variable's value, and that's probably Linux-specific rather than part of
a generic UUID for the partition.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/