Skip to content

Install from packages

Alexander Krizhanovsky edited this page Jul 6, 2023 · 27 revisions

Ubuntu 22.04 is the only officially supported Linux distribution for the moment. Prebuilt packages are available for both patched kernel and Tempesta FW. Kernel package is build with patches from Ubuntu maintainers and kernel configuration.

Since Tempesta FW is implemented as in-kernel module and it is under development, issues in it can affect stability of the kernel and may lead to a kernel crush. As a solution kdump is set as dependency for Tempesta FW. It allows to save crash dump information to /var/crash/%Date% and reboot system after the crash. It is highly recommended to enable kdump during install of kdump-tools package. kdump requires system reboot after installation.

Using Installer script

Installer script allows to install latest Tempesta FW release by single command. It installs all the required packages, downloads latest Tempesta FW and patched kernel releases (~50MB) to the working directory into tfw_downloads directory and installs them.

Run the next commands to automatically install or update Tempesta FW:

wget https://raw.githubusercontent.com/tempesta-tech/tempesta/master/pkg/scripts/tempesta_installer.sh
chmod +x tempesta_installer.sh
sudo ./tempesta_installer.sh --install

Once installation is completed reboot to a freshly installed kernel is required. Choose entry Ubuntu, with Linux 5.10.35+ in Advanced options for Ubuntu submenu to load the patched kernel. See section Running Tempesta FW for further instructions.

The same script can be used to remove Tempesta FW. --remove option will hold configuration file on server, while --purge completely removes Tempesta FW and all configuration files:

sudo ./tempesta_installer.sh --remove
sudo ./tempesta_installer.sh --purge

Manual installation of prebuilt packages

Install patched Kernel

Download Ubuntu packages from the patched kernel repository releases page. Release page contains all packages built from linux source package. But the minimum set of packages to run Tempesta FW is relatively small:

  • linux-headers-5.10.35+_5.10.35+-1_amd64.deb
  • linux-image-5.10.35+_5.10.35+-1_amd64.deb
  • linux-libc-dev_5.10.35+-1_amd64.deb

Simply install packages one-by-one in the same order as listed above:

dpkg -i <package-file>

Refer to Install from Sources section to compile and install custom kernel.

Install Tempesta FW

Tepmesta FW is available as a DKMS module from Tempesta FW releases page. That allow to recompile Tempesta FW once kernel was updated and support both AVX2 capable and not-capable machines with single package, but require to have compile-time dependencies.

First, install Tempesta FW package dependencies. This step can be skipped if gdebi is used to install packages from .deb files, since it can download required packages automatically.

apt-get install dkms libboost-dev libboost-program-options-dev kdump-tools

Configure DKMS to build installed modules against all kernels, not only the running one. Append line below to /etc/dkms/framework.conf:

autoinstall_all_kernels="yes"

Finally, install Tempesta FW:

dpkg -i tempesta-fw-dkms*

Once package is installed it will be build against all supported kernels. Installation of a new version of Tempesta FW package will not stop or reload running Tempesta FW instance. Manual restart is required.

Running Tempesta FW

First, reboot to tempesta-patched kernel. You may want to set the patched kernel as default.

Then, edit Tempesta FW configuration file:

sudo vim /etc/tempesta/tempesta_fw.conf

More information about configuration is available in Readme.

Finally, systemd unit files can be used for convenient management of Tempesta FW. To start and stop Tempesta FW use the next commands:

systemctl start tempesta-fw.service
systemctl stop tempesta-fw.service

To add or remove Tempesta FW from bootup process, use:

systemctl enable tempesta-fw.service
systemctl disable tempesta-fw.service
Clone this wiki locally