embdgen.plugins.content.CominitContent

class embdgen.plugins.content.CominitContent.VerityMetadata(version: int, data_block_size: int, hash_block_size: int, num_data_blocks: int, hash_start_block: int, algorithm: str, digest: str, salt: str)[source]

Bases: object

version: int
data_block_size: int
hash_block_size: int
num_data_blocks: int
hash_start_block: int
algorithm: str
digest: str
salt: str
classmethod from_file(metadata_file: Path)[source]
serialize()[source]
class embdgen.plugins.content.CominitContent.CominitContent[source]

Bases: BinaryContent

Cominit content

Creates a partition with metadata for cominit

There are currently two modes (dm_type) implemented: plain to create cominit metadata for a normal partition with the given filesystem or verity to create cominit metadata for a verity partition with the given filesystem and metadata.

CONTENT_TYPE = 'cominit'
METADATA_SIZE = 4096 B
content: BinaryContent

Content of the cominit partition

dm_type: str

The type (either plain or verity)

readonly: bool = False

Set to true, to make cominit mount the partition readonly (required for dm_type == verity)

key: Path

Path to the private key for signing the cominit metadata

filesystem: str

Type of the filesystem, that is contained in the partition and mounted by cominit

metadata: Path | None = None

If dm_type == verity, path to the metadata of the verity content (as generated by veritysetup or the VerityContent module)

verity_metadata: VerityMetadata | None = None
prepare() None[source]

Prepare content

This should calculate the size of the content and generate any files / information required by the owning class.

do_write(file: BufferedIOBase)[source]