This file contains instructions to build and install Clevis from source
To build and install the Clevis software the following software packages are required. In many cases dependencies are platform specific and so the following sections describe them for the supported platforms.
- Meson
- Ninja
- C compiler
- C Library Development Libraries and Header Files
- jose
- luksmeta
- audit-libs
- udisks2
- OpenSSL
- desktop-file-utils
- pkg-config
- systemd
- dracut
- tang
- curl
- tpm2-tools
- ncat (for clevis-luks-askpass)
There is a package already, so the package build dependencies information can be used to make sure that the needed packages to compile from source are installed:
$ sudo dnf builddep clevis
To configure Clevis, run meson
which generates the build files:
$ meson build
Then compile the code using ninja
:
$ ninja -C build -j$(nproc)
Once you've built the Clevis software it can be installed with:
$ sudo ninja -C build install
This will install Clevis to a location determined at configure time.
See the output of meson --help
for the available options. Typically
much won't be needed besides providing an alternative --prefix option at
configure time, and maybe DESTDIR at install time if you're packaging for
a distro.
After is installed, the dracut and systemd hooks can be added to the initramfs with:
$ sudo dracut -f