SYSTEMD-...GENERATOR(8)
๐ SYSTEMD-...GENERATOR(8) โ systemd-veritysetup-generator
okay bestie, sit down, hydrate, and let's talk about systemd-veritysetup-generator โ the little generator that is genuinely doing the most so your verity-protected block devices just work at boot ๐
โจ NAME โจ
systemd-veritysetup-generator โ unit generator for verity protected block devices ๐ฆ
๐ธ SYNOPSIS ๐ธ
/usr/lib/systemd/system-generators/systemd-veritysetup-generator
that's it. that's the whole vibe. it lives at that exact path, no arguments, no drama ๐
๐ DESCRIPTION ๐
so. systemd-veritysetup-generator is a generator โ and a generator, if you didn't know, is the thing that runs early at boot (and again whenever the system manager's config gets reloaded) and turns stuff into native systemd units. this one specifically translates kernel command line options that configure verity protected block devices into native systemd units. it will create systemd-veritysetup@.service(8) units as necessary. slay โจ
and like, currently? only two verity devices may be set up with this generator, bestie. just two. they back the root and /usr file systems of the OS. that's the whole assignment. ๐
also important: systemd-veritysetup-generator implements systemd.generator(7). periodt.
๐ฅ KERNEL COMMAND LINE ๐ฅ
here's the part where the tea gets spilled. systemd-veritysetup-generator understands these kernel command line parameters, and no, we are not skipping a single one of them:
systemd.verity=,rd.systemd.verity=โ takes a boolean argument. defaults to"yes". if you say"no", it disables the generator entirely (yes, the whole thing, gone, bye).rd.systemd.verity=is honored only in the initrd, whilesystemd.verity=is honored by both the main system and in the initrd.
added in version 233.
veritytab=,rd.veritytab=โ takes a boolean argument. defaults to"yes". if you say"no", it causes the generator to ignore any devices configured in/etc/veritytab.rd.veritytab=is honored only in the initrd, whileveritytab=is honored by both the main system and in the initrd.
added in version 248.
roothash=โ takes a root hash value for the root file system. it expects a hash value formatted in hexadecimal characters of the appropriate length (i.e. most likely 256 bit/64 characters, or longer). if it's not specified viasystemd.verity_root_data=andsystemd.verity_root_hash=, then the hash and data devices to use are automatically derived from the specified hash value. specifically: the data partition device is looked for under a GPT partition UUID derived from the first 128-bit of the root hash, and the hash partition device is looked for under a GPT partition UUID derived from the last 128-bit of the root hash. which means it is usually sufficient to specify the root hash to boot from a verity protected root file system, since device paths are automatically determined from it โ as long as the partition table is properly set up. iykyk ๐
added in version 233.
systemd.verity_root_data=,systemd.verity_root_hash=โ these two settings take block device paths as arguments and may be used to explicitly configure the data partition and hash partition to use for setting up the verity protection for the root file system. if not specified, these paths are automatically derived from theroothash=argument (see above, bestie, keep up ๐).
added in version 233.
systemd.verity_root_options=โ takes a comma-separated list of dm-verity options. it expects the following options:superblock=BOOLEAN,format=NUMBER,data-block-size=BYTES,hash-block-size=BYTES,data-blocks=BLOCKS,hash-offset=BYTES,salt=HEX,uuid=UUID,ignore-corruption,restart-on-corruption,ignore-zero-blocks,check-at-most-once,panic-on-corruption,hash=HASH,fec-device=PATH,fec-offset=BYTES,fec-roots=NUMandroot-hash-signature=PATH|base64:HEX. seeveritysetup(8)for more details.
added in version 248.
usrhash=,systemd.verity_usr_data=,systemd.verity_usr_hash=,systemd.verity_usr_options=โ equivalent to their counterparts for the root file system as described above, but apply to the/usr/file system instead. same energy, different filesystem ๐ซถ
added in version 250.
๐ฆ SEE ALSO ๐ฆ
go read these next, they're iconic:
systemd(1)systemd-veritysetup@.service(8)veritysetup(8)systemd-fstab-generator(8)
and that's the whole page, bestie!! systemd 262.1, manual page SYSTEMD-...GENERATOR(8) โ go forth and boot your verity-protected root like the main character you are ๐โจ
๐ฆ where this page comes from
- arch rolling: systemd 262.1-1 ยท LGPL-2.1-or-later AND CC0-1.0 AND GPL-2.0-or-later AND MIT-0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms