1tpm2_startup(1) General Commands Manual tpm2_startup(1)
2
3
4
6 tpm2_startup(1) - Send a startup command to the TPM.
7
9 tpm2_startup [OPTIONS]
10
12 tpm2_startup(1) - Send a TPM2_Startup command with either TPM_SU_CLEAR
13 or TPM_SU_STATE.
14
16 • -c, --clear:
17
18 Startup type sent will be TPM_SU_CLEAR instead of TPM2_SU_STATE.
19
20 References
22 This collection of options are common to many programs and provide in‐
23 formation that many users may expect.
24
25 • -h, --help=[man|no-man]: Display the tools manpage. By default, it
26 attempts to invoke the manpager for the tool, however, on failure
27 will output a short tool summary. This is the same behavior if the
28 “man” option argument is specified, however if explicit “man” is re‐
29 quested, the tool will provide errors from man on stderr. If the
30 “no-man” option if specified, or the manpager fails, the short op‐
31 tions will be output to stdout.
32
33 To successfully use the manpages feature requires the manpages to be
34 installed or on MANPATH, See man(1) for more details.
35
36 • -v, --version: Display version information for this tool, supported
37 tctis and exit.
38
39 • -V, --verbose: Increase the information that the tool prints to the
40 console during its execution. When using this option the file and
41 line number are printed.
42
43 • -Q, --quiet: Silence normal tool output to stdout.
44
45 • -Z, --enable-errata: Enable the application of errata fixups. Useful
46 if an errata fixup needs to be applied to commands sent to the TPM.
47 Defining the environment TPM2TOOLS_ENABLE_ERRATA is equivalent. in‐
48 formation many users may expect.
49
51 The TCTI or “Transmission Interface” is the communication mechanism
52 with the TPM. TCTIs can be changed for communication with TPMs across
53 different mediums.
54
55 To control the TCTI, the tools respect:
56
57 1. The command line option -T or --tcti
58
59 2. The environment variable: TPM2TOOLS_TCTI.
60
61 Note: The command line option always overrides the environment vari‐
62 able.
63
64 The current known TCTIs are:
65
66 • tabrmd - The resource manager, called tabrmd
67 (https://github.com/tpm2-software/tpm2-abrmd). Note that tabrmd and
68 abrmd as a tcti name are synonymous.
69
70 • mssim - Typically used for communicating to the TPM software simula‐
71 tor.
72
73 • device - Used when talking directly to a TPM device file.
74
75 • none - Do not initalize a connection with the TPM. Some tools allow
76 for off-tpm options and thus support not using a TCTI. Tools that do
77 not support it will error when attempted to be used without a TCTI
78 connection. Does not support ANY options and MUST BE presented as
79 the exact text of “none”.
80
81 The arguments to either the command line option or the environment
82 variable are in the form:
83
84 <tcti-name>:<tcti-option-config>
85
86 Specifying an empty string for either the <tcti-name> or <tcti-op‐
87 tion-config> results in the default being used for that portion respec‐
88 tively.
89
90 TCTI Defaults
91 When a TCTI is not specified, the default TCTI is searched for using
92 dlopen(3) semantics. The tools will search for tabrmd, device and
93 mssim TCTIs IN THAT ORDER and USE THE FIRST ONE FOUND. You can query
94 what TCTI will be chosen as the default by using the -v option to print
95 the version information. The “default-tcti” key-value pair will indi‐
96 cate which of the aforementioned TCTIs is the default.
97
98 Custom TCTIs
99 Any TCTI that implements the dynamic TCTI interface can be loaded. The
100 tools internally use dlopen(3), and the raw tcti-name value is used for
101 the lookup. Thus, this could be a path to the shared library, or a li‐
102 brary name as understood by dlopen(3) semantics.
103
105 This collection of options are used to configure the various known TCTI
106 modules available:
107
108 • device: For the device TCTI, the TPM character device file for use by
109 the device TCTI can be specified. The default is /dev/tpm0.
110
111 Example: -T device:/dev/tpm0 or export TPM2TOOLS_TCTI=“de‐
112 vice:/dev/tpm0”
113
114 • mssim: For the mssim TCTI, the domain name or IP address and port
115 number used by the simulator can be specified. The default are
116 127.0.0.1 and 2321.
117
118 Example: -T mssim:host=localhost,port=2321 or export TPM2TOOLS_TC‐
119 TI=“mssim:host=localhost,port=2321”
120
121 • abrmd: For the abrmd TCTI, the configuration string format is a se‐
122 ries of simple key value pairs separated by a `,' character. Each
123 key and value string are separated by a `=' character.
124
125 • TCTI abrmd supports two keys:
126
127 1. `bus_name' : The name of the tabrmd service on the bus (a
128 string).
129
130 2. `bus_type' : The type of the dbus instance (a string) limited to
131 `session' and `system'.
132
133 Specify the tabrmd tcti name and a config string of bus_name=com.ex‐
134 ample.FooBar:
135
136 \--tcti=tabrmd:bus_name=com.example.FooBar
137
138 Specify the default (abrmd) tcti and a config string of bus_type=ses‐
139 sion:
140
141 \--tcti:bus_type=session
142
143 NOTE: abrmd and tabrmd are synonymous. the various known TCTI mod‐
144 ules.
145
147 Send a TPM Startup Command with flags TPM2_SU_STATE
148 tpm2_startup
149
150 Send a TPM Startup Command with flags TPM2_SU_CLEAR
151 tpm2_startup -c
152
154 Typically a Resource Manager (like tpm2-abrmd
155 (https://github.com/tpm2-software/tpm2-abrmd)) or low-level/boot soft‐
156 ware will have already sent this command.
157
159 Tools can return any of the following codes:
160
161 • 0 - Success.
162
163 • 1 - General non-specific error.
164
165 • 2 - Options handling error.
166
167 • 3 - Authentication error.
168
169 • 4 - TCTI related error.
170
171 • 5 - Non supported scheme. Applicable to tpm2_testparams.
172
174 Github Issues (https://github.com/tpm2-software/tpm2-tools/issues)
175
177 See the Mailing List (https://lists.linuxfoundation.org/mailman/listin‐
178 fo/tpm2)
179
180
181
182tpm2-tools tpm2_startup(1)