Some more thoughts with your example, dmsetup might look like: # dmsetup create --bootformat "lroot:uuid,rw,0 2097152 linear 8:2 0, \ 2097152 2097152 linear 8:3 0, 4194304 2097152 linear 8:4 0" - also supporting creating multiple devices if the semi-colon is used - colon to separate name from uuid, like we already do major:minor - colon to separate other flags from rw if we need them in future - splitting first on a unescaped semi-colons, then on the first two unescaped commas, and then on unescaped commas and then unescaped spaces within the table - backslash escapes the following character so it is never a treated as a separator - lroot\:uuid\;\\\ \"\, would be a device with no uuid and the name lroot:uuid;\ ", (on a non-udev system without name mangling) # dmsetup ls --bootformat lroot dm="lroot:uuid,rw,0 2097152 linear 8:2 0, 2097152 2097152 \ linear 8:3 0, 4194304 2097152 linear 8:4 0" # dmsetup ls --bootformat (all devices on one output line) While the code also supports devices in the /dev/sda2 format for convenience, please use the preferred 8:2 format in any implementation and documented examples (to avoid the unnecessary dependency on /dev and its dependencies). Or with some alternative name for the option --boot[format|param] --short[format] --kernelparam --condensed other suggestions? dmsetup create --condensed dmsetup ls --condensed Alasdair -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel