* [meta-oe][PATCH] image_types_verity.bbclass: remove breaking unit suffix from machine-readable verity parameters
@ 2025-09-02 9:57 Bastian Krause
0 siblings, 0 replies; only message in thread
From: Bastian Krause @ 2025-09-02 9:57 UTC (permalink / raw)
To: openembedded-devel; +Cc: yocto, Erik Schumacher, Bastian Krause
Since cryptsetup 2.8.0 [1], "veritysetup format" prints " [bytes]"
suffixes for "Data block size" and "Hash block size" parameters:
UUID:
Hash type: 1
Data blocks: 34655
Data block size: 4096 [bytes]
Hash blocks: 275
Hash block size: 4096 [bytes]
Hash algorithm: sha256
Salt: 8a8d8d807bd9838a80397a13b3bc13c55780ff1677ee4489366b17dab1b29316
Root hash: bd85312151dc5c69efce943038e0ac4b92e14d8954cce5d3cc90513837f854bf
This output is directly converted to a shell sourcable form in
"${DEPLOY_DIR_IMAGE}/<IMAGE_LINK_NAME>.verity-params" used to
create the desired block device via "dmsetup" during runtime. The unit
suffix becomes part of the VERITY_DATA_BLOCK_SIZE and
VERITY_HASH_BLOCK_SIZE variables, breaking its consumers:
/init: /verity-params: line 4: [bytes]: not found
/init: /verity-params: line 6: [bytes]: not found
verity root hash: bd85312151dc5c69efce943038e0ac4b92e14d8954cce5d3cc90513837f854bf
[ 3.323577] device-mapper: table: 253:0: verity: Invalid data device block size (-EINVAL)
[ 3.323595] device-mapper: ioctl: error adding target to table
[ 3.345301] /dev/dm-0: Can't lookup blockdev
Fix this by removing the unit suffixes from the values.
Ideally veritysetup should support machine-readable output, but that did
not spark joy on the maintainer's side [2] (at least in veritysetup
itself).
[1] commit f8788f34 ("Mark all sizes in status and dump output in the
correct units.")
[2] https://gitlab.com/cryptsetup/cryptsetup/-/issues/638
Signed-off-by: Bastian Krause <bst@pengutronix.de>
---
meta-oe/classes/image_types_verity.bbclass | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta-oe/classes/image_types_verity.bbclass b/meta-oe/classes/image_types_verity.bbclass
index d77bc20a13..24462277af 100644
--- a/meta-oe/classes/image_types_verity.bbclass
+++ b/meta-oe/classes/image_types_verity.bbclass
@@ -145,6 +145,7 @@ python do_image_verity () {
k, v = line.split(':', 1)
k = k.strip().upper().replace(' ', '_')
v = v.strip()
+ v = v.removesuffix(' [bytes]')
bb.debug(1, f"{k} {v}")
params.append('VERITY_{}={}'.format(k, v))
--
2.47.2
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2025-09-02 10:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 9:57 [meta-oe][PATCH] image_types_verity.bbclass: remove breaking unit suffix from machine-readable verity parameters Bastian Krause
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).