Skip to content

Install from packages

Alexander K edited this page Apr 5, 2018 · 27 revisions

Currently package installation is only available for release-0.5, please use install Tempesta FW 0.6 (current) from sources.

Debian 9 Stretch is the only officially supported Linux distribution for the moment. Prebuilt packages are available for both patched kernel and TempestaFW. Kernel package is build with patches from Debian maintainers and kernel configuration.

Since TempestaFW 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 TempestaFW. 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 TempestaFW release by single command. It installs all the required packages, downloads latest TempestaFW 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 TempestaFW:

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 Debian GNU/Linux, with Linux 4.9.0-tempesta-amd64 in Advanced options for Debian GNU/Linux submenu to load the patched kernel. See section Running TempestaFW for further instructions.

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

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

Manual installation of prebuilt packages

Install patched Kernel

Download Debian 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 TempestaFW is relatively small:

  • linux-image-4.9.0-tempesta-amd64_4.9.35-tfw1-1_amd64.deb
  • linux-kbuild-4.9_4.9.35-tfw1-1_amd64.deb
  • linux-headers-4.9.0-tempesta-common_4.9.35-tfw1-1_amd64.deb
  • linux-headers-4.9.0-tempesta-amd64_4.9.35-tfw1-1_amd64.deb
  • linux-headers-4.9.0-tempesta-all-amd64_4.9.35-tfw1-1_amd64.deb
  • linux-headers-4.9.0-tempesta-all_4.9.35-tfw1-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 TempestaFW

TepmestaFW is available as a DKMS module from TempestaFW releases page. That allow to recompile TempestaFW 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 TempestaFW 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 TempestaFW:

dpkg -i tempesta-fw-dkms*

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

Running TempestaFW

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

Then, edit TempestaFW configuration file:

sudo vim /etc/tempesta_fw.conf

More information about configuration is available in Readme.

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

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

To add or remove TempestaFW from bootup process, use:

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