A method that can be used on Ubuntu is as follows:
- Create a .deb package
from the
RPM:
$ sudo alien -c onload-dkms-<version>.noarch.rpm
You must use the
-c
option otherwise the driver binary will not be built. - Make sure the .deb package is created:
$ ls onload-dkms_<version>_all.deb onload-dkms-<version>.noarch.rpm
- Install the .deb
package (this takes a few
minutes):
$ sudo dpkg -i onload-dkms_<version>_all.deb
This produces a lot of output while it builds the following components:
sfc, sfc_affinity.ko, sfc_char.ko, sfc_resource.ko, and onload.ko.
- Load the network and Onload kernel
drivers:
- If you are using the
sfc
network driver (for 8000 series or X2 series adapters), just use theonload_tool
command:$ sudo onload_tool reload
This replaces any previously loaded
sfc
network driver with thesfc
driver from the Onload distribution. - Otherwise you must reload the network driver yourself, and also the
auxiliary driver. For example if you are using the
xilinx_efct
driver with an X3 series adapter:$ sudo modprobe -r xilinx_efct $ sudo modprobe -r auxiliary $ sudo modprobe auxiliary $ sudo modprobe xilinx_efct $ sudo onload_tool reload --onload-only
- If you are using the
- Confirm success:
$ onload OpenOnload <version> Copyright 2019-2022 Xilinx, 2006-2019 Solarflare Communications, 2002-2005 Level 5 Networks Built: <date> <time> (release) Kernel module: <version>
If a
Kernel module
version is shown, this confirms that the Onload kernel module is installed and loaded.