diff --git a/docs/advanced-configurations.rst b/docs/advanced-configurations.rst index 59254d7..fb22d88 100644 --- a/docs/advanced-configurations.rst +++ b/docs/advanced-configurations.rst @@ -322,8 +322,10 @@ Before you begin, ensure that you have the following prerequisites: Common ~~~~~~ - Docker (Ubuntu) / Podman (RH) installed on your build system. -- Web access to NVIDIA NIC drivers sources. Latest NIC drivers published at `NIC drivers download center `_, for example: `https://www.mellanox.com/downloads/ofed/MLNX_OFED-24.04-0.6.6.0/MLNX_OFED_SRC-debian-24.04-0.6.6.0-0.tgz `_ +- Web access to NVIDIA NIC drivers sources. Latest NIC drivers are published at `NVIDIA DOCA Downloads `_, for example: `https://linux.mellanox.com/public/repo/doca/2.9.1/SOURCES/MLNX_OFED/MLNX_OFED_SRC-debian-24.10-1.1.4.0.tgz `_ +**NOTE:** NVIDIA NIC driver sources are bundled as part of NVIDIA DOCA package. Both the DOCA package version and its corresponding NIC driver (MLNX_OFED) version need to be specified to fetch the correct driver sources when building the driver container. +For example, given a DOCA package version (e.g `2.9.1`) you can find the corresponding MLNX_OFED version at the link: ``_ which is `24.10-1.1.4.0` ~~~~ RHEL @@ -342,6 +344,11 @@ RHCOS - Install `oc `_ CLI tool. - Download OpenShift `pull secret `_. +~~~~~ +SLES: +~~~~~ +Active subscription. + ------------------- Dockerfile Overview ------------------- @@ -368,13 +375,14 @@ Before building the container, you need to provide following parameters as `buil 1. `D_OS`: The Linux distribution (e.g., ubuntu22.04 / rhel9.2) 2. `D_ARCH`: Compiled Architecture -3. `D_BASE_IMAGE`: Base container image +3. `D_BASE_IMAGE`: Base container image (e.g., ubuntu:22.04) 4. `D_KERNEL_VER`: The target kernel version (e.g., 5.15.0-25-generic / 5.14.0-284.32.1.el9_2.x86_64) -5. `D_OFED_VERSION`: NVIDIA NIC drivers version (e.g., 24.01-0.3.3.1) +5. `D_DOCA_VERSION`: NVIDIA DOCA version (e.g., 2.9.1) +6. `D_OFED_VERSION`: NVIDIA NIC drivers version (e.g., 24.10-1.1.4.0) -**NOTE:** Check desired NVIDIA NIC drivers sources[^1] availability for designated container OS, only versions available on download page can be utilized +**NOTE:** Check desired NVIDIA NIC drivers sources availability for designated container OS, only versions available on download page can be utilized -**NOTE:** For proper Network Operator functionality container tag name must be in following pattern: **driver_ver-container_ver-kernel_ver-os-arch**. For example: 24.01-0.3.3.1-0-5.15.0-25-generic-ubuntu22.04-amd64 +**NOTE:** For proper Network Operator functionality container tag name must be in following pattern: **driver_ver-container_ver-kernel_ver-os-arch**. For example: 24.10-1.1.4.0-0-5.15.0-25-generic-ubuntu22.04-amd64 ------------------------------ RHEL specific build parameters @@ -420,7 +428,7 @@ Then pull the DTK image locally using your pull-secret: RHEL example ~~~~~~~~~~~~ -To build RHEL-based image please use provided `RHEL Dockerfile `_: +To build RHEL-based image please use provided `RHEL Dockerfile `_: .. code-block:: bash @@ -428,10 +436,11 @@ To build RHEL-based image please use provided `RHEL Dockerfile `_: +To build RHCOS based image please use provided `RHCOS Dockerfile `_: .. code-block:: bash @@ -447,10 +456,11 @@ To build RHCOS based image please use provided `RHCOS Dockerfile `_:. +To build Ubuntu-based image please use provided `Ubuntu Dockerfile `_:. .. code-block:: bash docker build \ --build-arg D_OS=ubuntu22.04 \ --build-arg D_ARCH=x86_64 \ - --build-arg D_BASE_IMAGE=ubuntu:24.04 \ + --build-arg D_BASE_IMAGE=ubuntu:22.04 \ --build-arg D_KERNEL_VER=5.15.0-25-generic \ - --build-arg D_OFED_VERSION=24.01-0.3.3.1 \ - --tag 24.01-0.3.3.1-0-5.15.0-25-generic-ubuntu22.04-amd64 \ + --build-arg D_DOCA_VERSION=2.9.1 \ + --build-arg D_OFED_VERSION=24.10-1.1.4.0 \ + --tag 24.10-1.1.4.0-0-5.15.0-25-generic-ubuntu22.04-amd64 \ -f Ubuntu_Dockerfile \ --target precompiled . +~~~~~~~~~~~~ +SLES example +~~~~~~~~~~~~ + +To build SLES-based image please use provided `SLES Dockerfile `_:. + +**SLES example**: + +.. code-block:: bash + + docker build \ + --build-arg D_OS=sles15.5 \ + --build-arg D_ARCH=x86_64 \ + --build-arg D_BASE_IMAGE=registry.suse.com/suse/sle15:15.5 \ + --build-arg D_KERNEL_VER=5.14.21-150500.55.83-default \ + --build-arg D_DOCA_VERSION=2.9.1 \ + --build-arg D_OFED_VERSION=24.10-1.1.4.0 \ + --tag 24.10-1.1.4.0-0-5.14.21-150500.55.83-default-sles15.5-amd64 \ + -f SLES_Dockerfile \ + --target precompiled . + + **NOTE:** Dockerfiles contain default build parameters, which may fail build proccess on your system if not overridden. -**NOTE:** Download `entrypoint script file `_ +**NOTE:** Download `entrypoint script file `_ -**NOTE:** Download `DTK build script file `_ +**NOTE:** Download `DTK build script file `_ **NOTE:** Make sure the `.sh` files are executable by running `chmod +x entrypoint.sh dtk_nic_driver_build.sh`