Below you will find instructions to build and install the tpm2-tools project.
To obtain the tpm2-tools sources you must clone them as below:
git clone https://github.com/tpm2-software/tpm2-tools
To build and install the tpm2-tools software the following software is required:
- GNU Autoconf
- GNU Automake
- GNU Libtool
- pkg-config
- C compiler
- C Library Development Libraries and Header Files (for pthreads headers)
- SAPI - TPM2.0 TSS SAPI library and header files
- OpenSSL libcrypto library and header files
- Curl library and header files
- To build the man pages you need pandoc
- To enable the new userspace resource manager, one must get tpm2-tabrmd (recommended).
Satisfying the dependencies for tpm2-tools falls into two general steps, stuff you can easily get via the package manager, and stuff you cannot.
NOTE: The tpm2 Userspace Dependencies may not be the correct version in your distros package manager.
Packages:
The packages in the below command can be ascertained via the package manager.
sudo apt-get install autoconf automake libtool pkg-config gcc libssl-dev \
libcurl4-gnutls-dev
Notes:
- One can substitute gcc for clang if they desire.
- On pre-ubuntu 16.04
libcurl4-gnutls-dev
was provided bylibcurl-dev
- The libcurl dependency can be satisfied in many ways, and likely change
with Ubuntu versions:
libcurl4-openssl-dev 7.47.0-1ubuntu2.2
libcurl4-nss-dev 7.47.0-1ubuntu2.2
libcurl4-gnutls-dev 7.47.0-1ubuntu2.2
- The libcurl dependency can be satisfied in many ways, and likely change
with Ubuntu versions:
tpm2 Userspace Dependencies:
The following tpm2 userspace dependencies can be satisfied by getting the source, building and installing them. They can be located here:
- SAPI - The low level system API: https://github.com/tpm2-software/tpm2-tss
- ABRMD (recommended but optional) - Which is the userspace resource manager: https://github.com/tpm2-software/tpm2-abrmd
Other Dependencies
To get md2man-roff, see there page at: https://github.com/sunaku/md2man
tpm2-tools version | tpm2-tss version | tpm2-abrmd version |
---|---|---|
master | master | master |
2.1.0 | 1.2.0 | 1.1.1 |
df751ae(master) | 1.1.0 | 1.0.0 |
v2.0.0 | 1.0 | old resourcemgr |
v1.1.0 | 1.0 | old resourcemgr |
v1.1-beta_1 | 1.0-beta_1 | old resourcemgr |
v1.1-beta_0 | v1.0-beta_0 | old resourcemgr |
14a7ff5 | 210b770 | old resourcemgr |
4b4cbea | d4f23cc | old resourcemgr |
e8150e4 | 60ec042 | old resourcemgr |
84d5f26 | 371fdbc | old resourcemgr |
v1.0.1 | 1.0-alpha_0 | old resourcemgr |
To compile tpm2-tools execute the following commands from the root of the source directory:
$ ./bootstrap
$ ./configure
$ make
This is sufficient for running as long as you alter PATH
so that it points to
the tools directory, or just execute them via a full path.
For Example:
./tools/tpm2_getrandom 4
For those who wish to install, one can execute:
$ sudo make install