Install on Ubuntu

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2023-07-31
Revision
1.2 English

A method that can be used on Ubuntu is as follows:

  1. 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.

  2. Make sure the .deb package is created:
    $ ls
    onload-dkms_<version>_all.deb    onload-dkms-<version>.noarch.rpm
  3. 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.

  4. Load the network and Onload kernel drivers:
    • If you are using the sfc network driver (for 8000 series or X2 series adapters), just use the onload_tool command:
      $ sudo onload_tool reload

      This replaces any previously loaded sfc network driver with the sfc 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
  5. 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.

Note: Instead of creating and installing a .deb package (1 - 3 above), you can use the alien command to install directly from the RPM:
$ sudo alien --scripts -i onload-dkms-<version>.noarch.rpm

This produces a lot of output similar to the previous method.