diff --git a/man/systemd-measure.xml b/man/systemd-measure.xml
index 931b62c12e..9b991e87b3 100644
--- a/man/systemd-measure.xml
+++ b/man/systemd-measure.xml
@@ -76,9 +76,9 @@
kernel image consisting of the components specified with ,
, , ,
, , ,
- , , see below. Only
- is mandatory. (Alternatively, specify to use the
- current values of PCR register 11 instead.)
+ , , ,
+ , see below. Only is mandatory. (Alternatively,
+ specify to use the current values of PCR register 11 instead.)
@@ -124,6 +124,7 @@
+
When used with the calculate or sign verb,
configures the files to read the unified kernel image components from. Each option corresponds with
@@ -131,7 +132,10 @@
the path to the ELF kernel file that the unified PE kernel will wrap. All switches except
are optional. Each option may be used at most once.
-
+
+
+ With the exception of , which has been added in version
+ 257.
diff --git a/src/boot/measure.c b/src/boot/measure.c
index 81f1a9fbd2..1af5fef720 100644
--- a/src/boot/measure.c
+++ b/src/boot/measure.c
@@ -100,6 +100,7 @@ static int help(int argc, char *argv[], void *userdata) {
" --uname=PATH Path to 'uname -r' file %7$s .uname\n"
" --sbat=PATH Path to SBAT file %7$s .sbat\n"
" --pcrpkey=PATH Path to public key for PCR signatures %7$s .pcrpkey\n"
+ " --profile=PATH Path to profile file %7$s .profile\n"
"\nSee the %2$s for details.\n",
program_invocation_short_name,
link,
@@ -142,8 +143,9 @@ static int parse_argv(int argc, char *argv[]) {
ARG_UNAME,
ARG_SBAT,
_ARG_PCRSIG, /* the .pcrsig section is not input for signing, hence not actually an argument here */
+ ARG_PCRPKEY,
_ARG_SECTION_LAST,
- ARG_PCRPKEY = _ARG_SECTION_LAST,
+ ARG_PROFILE = _ARG_SECTION_LAST,
ARG_BANK,
ARG_PRIVATE_KEY,
ARG_PRIVATE_KEY_SOURCE,
@@ -169,6 +171,7 @@ static int parse_argv(int argc, char *argv[]) {
{ "uname", required_argument, NULL, ARG_UNAME },
{ "sbat", required_argument, NULL, ARG_SBAT },
{ "pcrpkey", required_argument, NULL, ARG_PCRPKEY },
+ { "profile", required_argument, NULL, ARG_PROFILE },
{ "current", no_argument, NULL, 'c' },
{ "bank", required_argument, NULL, ARG_BANK },
{ "tpm2-device", required_argument, NULL, ARG_TPM2_DEVICE },
diff --git a/src/fundamental/uki.c b/src/fundamental/uki.c
index 3887bf5702..da5da1cf10 100644
--- a/src/fundamental/uki.c
+++ b/src/fundamental/uki.c
@@ -20,5 +20,6 @@ const char* const unified_sections[_UNIFIED_SECTION_MAX + 1] = {
[UNIFIED_SECTION_SBAT] = ".sbat",
[UNIFIED_SECTION_PCRSIG] = ".pcrsig",
[UNIFIED_SECTION_PCRPKEY] = ".pcrpkey",
+ [UNIFIED_SECTION_PROFILE] = ".profile",
NULL,
};
diff --git a/src/fundamental/uki.h b/src/fundamental/uki.h
index 8ab742dd58..653fd2e616 100644
--- a/src/fundamental/uki.h
+++ b/src/fundamental/uki.h
@@ -17,6 +17,7 @@ typedef enum UnifiedSection {
UNIFIED_SECTION_SBAT,
UNIFIED_SECTION_PCRSIG,
UNIFIED_SECTION_PCRPKEY,
+ UNIFIED_SECTION_PROFILE,
_UNIFIED_SECTION_MAX,
} UnifiedSection;
diff --git a/tools/command_ignorelist b/tools/command_ignorelist
index fa160d17c6..6d0a81f330 100644
--- a/tools/command_ignorelist
+++ b/tools/command_ignorelist
@@ -568,3 +568,4 @@ file-hierarchy.xml /refsect1[title="Home Directory"]/variablelist/varlistentry[t
file-hierarchy.xml /refsect1[title="Home Directory"]/variablelist/varlistentry[term="~/.local/lib/arch-id/"]
file-hierarchy.xml /refsect1[title="Home Directory"]/variablelist/varlistentry[term="~/.local/share/"]
file-hierarchy.xml /refsect1[title="Home Directory"]/variablelist/varlistentry[term="~/.local/state/"]
+systemd-measure.xml /refsect1[title="Options"]/variablelist/varlistentry[term="--linux=PATH"]