Die Datei /etc/veritytab beschreibt Verity-geschützte Blockgeräte, die während der Systemstartphase eingerichtet werden.
Leere Zeilen und Zeilen, die mit »#« beginnen, werden ignoriert. Jede der verbleibenden Zeilen beschreibt eines der Verity-geschützten Blockgeräte. Felder werden durch Leerraum getrennt.
Jede Zeile hat die Form
Laufwerksname Datengerät Hash-Gerät Wurzel-Hash Optionen
Die ersten vier Felder sind verpflichtend, das verbleibende ist optional.
Das erste Feld enthält den Namen des sich ergebenden Verity-Datenträgers; sein Block-Gerät wird unterhalb von /dev/mapper/ eingerichtet.
Das zweite Feld enthält einen Pfad zu dem zugrundeliegenden Blockdatengerät oder eine Festlegung eines Blockgerätes mittels »UUID=« gefolgt von der UUID.
Das dritte Feld enthält einen Pfad zu dem zugrundeliegenden Block-Hash-Gerät oder eine Festlegung eines Blockgerätes mittels »UUID=« gefolgt von der UUID.
Das vierte Feld ist der »Wurzel-Hash« in hexadezimaler Schreibweise.
Das fünfte Feld, falls vorhanden, ist eine Kommata-getrennte Liste von Optionen. Die folgenden Felder werden erkannt:
superblock=LOGISCH
Verwendung von dm-verity mit oder ohne daurhaften Superblock auf Platte.
Hinzugefügt in Version 254.
format=ZAHL
Angabe des Hash-Versionstyps. Formattyp 0 ist die ursprüngliche Chrome-OS-Version. Formattyp 1 ist die moderne Version.
Hinzugefügt in Version 254.
data-block-size=BYTE
Verwandte Blockgröße für das Datengerät. (Beachten Sie, dass der Kernel maximal die Seitengröße hier unterstützt; Vielfaches von 512 byte.)
Hinzugefügt in Version 254.
hash-block-size=BYTE
Verwandte Blockgröße für das Hash-Gerät. (Beachten Sie, dass der Kernel maximal die Seitengröße hier unterstützt; Vielfaches von 512 byte.)
Hinzugefügt in Version 254.
data-blocks=BLÖCKE
Anzahl an Blöcken beim Datengerät, die für die Verifikation verwandt werden. Falls nicht angegeben, wird das gesamte Gerät benutzt.
Hinzugefügt in Version 254.
hash-offset=BYTE
Versatz des Hash-Bereichs/-Superblocks of »Hash-Gerät«. (Vielfaches von 512 byte.)
Hinzugefügt in Version 254.
salt=HEX
Zufallsstartwert, der für die Formatierung oder die Verifikation verwandt wird. Format ist eine hexadezimale Zeichenkette; 256 byte lang; »-« ist der besondere Wert für leer.
Hinzugefügt in Version 254.
uuid=UUID
Die bereitgestellte UUID für den Format-Befehl verwenden, anstelle eine neue zu erstellen. Die UUID muss im Standard-UUID-Format bereitgestellt werden, z.B. 12345678-1234-1234-1234-123456789abc.
Hinzugefügt in Version 254.
ignore-corruption, restart-on-corruption, panic-on-corruption
Definiert, was zu tun ist, wenn ein Daten-Verity-Problem (Datenkorruption) festgestellt wurde. Ohne diese Optionen lässt der Kernel die E/A-Aktion mit einem E/A-Fehler fehlschlagen. Mit der Option »--ignore-corruption« wird die Korruption nur protokolliert. Mit »--restart-on-corruption« oder »--panic-on-corruption« wird der Kernel sofort neu gestartet (Panik). (Sie müssen dafür sorgen, dass Neustart-Schleifen vermieden werden.)
Hinzugefügt in Version 248.
ignore-zero-blocks
Weist den Kernel an, keine Blöcke zu verifizieren, von denen erwartet wird, dass sie nur Nullen enthalten, und dass er stattdessen direkt Nullen zurückliefern soll. WARNUNG: Verwenden Sie diese Option nur in sehr bestimmten Fällen. Diese Option ist seit Kernelversion 4.5 verfügbar.
Hinzugefügt in Version 248.
check-at-most-once
Weist den Kernel an, Blöcke nur beim erstmaligen Einlesen vom Datengerät statt jedes Mal zu überprüfen: WARNUNG: Dies reduziert die Datensicherheit, da nur Offline-Verfälschungen des Inhaltes des Datengeräts erkannt werden, aber keine Online-Verfälschung. Diese Option ist seit Kernelversion 4.17 verfügbar.
Hinzugefügt in Version 248.
hash=HASH
Hash-Algorithmus für dm-verity. Dies sollte der Name des Algorithmus wie »sha1« sein. Für die Vorgabe siehe
veritysetup --help.
Hinzugefügt in Version 254.
fec-device=PFAD
Verwendet Vorwärtsfehlerkorrektur (FEC), um sich von Beschädigungen zu erholen, falls die Hash-Überprüfung fehlschlägt. Verwendet Kodierungsdaten von dem angegeben Gerät. Das fcc-Geräteargument kann ein Blockgerät oder ein Dateiabbild sein. Zum Format: Falls der FEC-Gerätepfad nicht existiert, wird er als Datei erstellt. Hinweis: Blockgrößen für Daten und Hash-Geräte müssen übereinstimmen. Falls das Verity-Datengerät verschlüsselt ist, sollte dies das FEC-Gerät auch sein.
Hinzugefügt in Version 254.
fec-offset=BYTE
Dies ist der Versatz in Byte, vom Anfang des FEC-Gerätes bis zum Anfang der kodierten Daten. (Ausgerichtet auf 512 byte)
Hinzugefügt in Version 254.
fec-roots=ZAHL
Anzahl an Generatoren-Wurzeln Dies ist identisch mit der Anzahl an Paritätsbits in den kodierten Daten. In der RS(M, N)-Kodierung ist die Anzahl der Wurzeln M-N. M ist 255 und M-N liegt zwischen (einschließlich) 2 und 24.
Hinzugefügt in Version 254.
root-hash-signature=PFAD|base64:HEX
Eine base64-Zeichenkette, die die Wurzel-Hash-Signatur kodiert und der »base64:« oder ein Pfad zu einer Wurzel-Hash-Signaturdatei zur Überpfüung des Wurzel-Hashes (im Kernel) vorangestellt ist. Diese Funktionalität benötigt einen Linux-Kernel der Version 5.4 oder neuer.
Hinzugefügt in Version 248.
_netdev
Markiert dieses Veritysetup-Gerät als netzwerkabhängig. Es wird gestartet, sobald das Netzwerk verfügbar ist, ähnlich wie
systemd.mount(5)-Units, die mit
_netdev markiert sind. Die Dienste-Unit zur Einrichtung dieses Gerätes wird zwischen remote-fs-pre.target und remote-veritysetup.target einsortiert, statt zwischen veritysetup-pre.target und veritysetup.target.
Tipp: Falls dieses Gerät für einen in fstab(5) festgelegten Einhängepunkt verwandt wird, sollte die Option _netdev auch für den Einhängepunkt verwandt werden. Andernfalls könnte eine Abhängigkeitsschleife erstellt werden, bei der der Einhängepunkt durch local-fs.target hereingezogen, während der Dienst zur Konfiguration des Netzwerkes normalerweise nach dem Einhängen des lokalen Dateisystems gestartet wird.
Hinzugefügt in Version 248.
noauto
Dieses Gerät wird nicht zu veritysetup.target hinzugefügt. Dies bedeutet, dass es beim Systemstart nicht automatisch aktiviert wird, außer etwas anderes zieht es herein. Falls nämlich das Gerät für einen Einhängepunkt verwandt wird, wird es während des Systemstarts automatisch hereingezogen, außer der Einhängepunkt selbst ist auch mit
noauto deaktiviert.
Hinzugefügt in Version 248.
nofail
Dieses Gerät wird keine harte Abhängigkeit von veritysetup.target sein. Es wird weiterhin hereingezogen und gestartet, aber das System wird nicht darauf warten, dass das Gerät auftaucht und aktiviert wird und der Systemstart wird nicht fehlschlagen, falls dies nicht erfolgreich passieren kann. Beachten Sie, dass andere Units, die von dem aktivierten Gerät abhängen, weiterhin fehlschlagen können. Falls nämlich das Gerät für einen Einhängepunkt verwandt wird, muss der Einhängepunkt selbst auch über die Option
nofail verfügen oder der Systemstart wird fehlschlagen, falls das Gerät nicht erfolgreich aktiviert wurde.
Hinzugefügt in Version 248.
x-initrd.attach
Richtet dieses Verity-geschützte Blockgerät in der Initrd ein, ähnlich wie mit
x-initrd.mount markierte
systemd.mount(5)-Units.
Obwohl es nicht notwendig ist, den Einhängeeintrag für das Wurzeldateisystem mit x-initrd.mount zu markieren, wird x-initrd.attach weiterhin mit den Verity-geschützten Blockgeräten empfohlen, die das Wurzeldateisystem enthalten, da Systemd andernfalls versuchen wird, das Gerät während des normalen Herunterfahrens abzutrennen, während es noch benutzt wird. Mit dieser Option wird dieses Gerät weiterhin abgetrennt, aber später, nachdem das Wurzeldateisystem ausgehängt ist.
Alle anderen Verity-geschützten Blockgeräte, die in der Initrd eingehängte Dateisysteme enthalten, sollten diese Option verwenden.
Hinzugefügt in Version 248.
In der frühen Systemstartphase und wenn die Systemverwalterkonfiguration neu geladen wird, wird diese Datei durch systemd-veritysetup-generator(8) in native Systemd-Units übersetzt.