mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2025-10-22 23:13:04 +02:00
image_types_verity.bbclass: remove breaking unit suffix from machine-readable verity parameters
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> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
c8ef8ccd8d
commit
86f2dee014
|
@ -145,6 +145,7 @@ python do_image_verity () {
|
||||||
k, v = line.split(':', 1)
|
k, v = line.split(':', 1)
|
||||||
k = k.strip().upper().replace(' ', '_')
|
k = k.strip().upper().replace(' ', '_')
|
||||||
v = v.strip()
|
v = v.strip()
|
||||||
|
v = v.removesuffix(' [bytes]')
|
||||||
bb.debug(1, f"{k} {v}")
|
bb.debug(1, f"{k} {v}")
|
||||||
params.append('VERITY_{}={}'.format(k, v))
|
params.append('VERITY_{}={}'.format(k, v))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user