> ## Documentation Index
> Fetch the complete documentation index at: https://docs.poolside.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Prepare SLES

> Prepare a SUSE Linux Enterprise Server host before you install Poolside model inference on-premises.

export const nvidiaDriverVersion = "580.126.20";

Complete these steps on a SUSE Linux Enterprise Server (SLES) host before you run the [on-premises installation](/deployment/on-prem/install).

For requirements that apply to every host, see [On-premises installation prerequisites](/deployment/on-prem/prerequisites/overview).

## Supported versions and architectures

| Item             | Supported values                        |
| ---------------- | --------------------------------------- |
| Operating system | SUSE Linux Enterprise Server (SLES) 16  |
| CPU architecture | `amd64` (`x86_64`), `arm64` (`aarch64`) |

## Step 1: Install required tools

Ensure that `sudo` is present and operating correctly on the host. Use `su` to become the root user, then run `zypper install sudo`.

After you install `sudo`, open the `sudoers` file with `visudo`. Verify that the file includes only one `Defaults secure_path` entry. If multiple entries exist, delete any entries that do not include `/usr/local/bin`. You install `terraform` and `yq` in this directory, so it must be in the `secure_path` value that `sudo` uses.

To install the required packages available from the operating system repositories, run:

```bash theme={null}
sudo zypper install -y iptables tar unzip skopeo jq
```

* Install `yq` (version `v4.49.2` or later) from the [yq releases page](https://github.com/mikefarah/yq/releases/tag/v4.49.2)
  * Download [`yq_linux_amd64.tar.gz`](https://github.com/mikefarah/yq/releases/download/v4.49.2/yq_linux_amd64.tar.gz) or [`yq_linux_arm64.tar.gz`](https://github.com/mikefarah/yq/releases/download/v4.49.2/yq_linux_arm64.tar.gz) and install it to `/usr/local/bin/yq`
* Install `terraform` (version `1.8.5`) from the [Terraform 1.8.5 releases page](https://releases.hashicorp.com/terraform/1.8.5)
  * Download [`terraform_1.8.5_linux_amd64.zip`](https://releases.hashicorp.com/terraform/1.8.5/terraform_1.8.5_linux_amd64.zip) or [`terraform_1.8.5_linux_arm64.zip`](https://releases.hashicorp.com/terraform/1.8.5/terraform_1.8.5_linux_arm64.zip) and install the binary to `/usr/local/bin/terraform`
  * `unzip` is required to extract the Terraform binary

## Step 2: Install kubectl

Ensure that the `kubectl` version is the same as or newer than the RKE2 Kubernetes version.

To install `kubectl` using native package management, add the Kubernetes repository for the minor version that matches your deployment. The following example uses the v1.35 repository:

```bash theme={null}
cat <<EOF | sudo tee /etc/zypp/repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.35/rpm/repodata/repomd.xml.key
EOF

sudo zypper install -y kubectl
```

Alternatively, install `wget`, then download the `kubectl` binary directly and install it to `/usr/local/bin/kubectl`. Replace `<arch>` with `amd64` or `arm64`:

```bash theme={null}
sudo zypper install -y wget
wget https://dl.k8s.io/release/v1.35.3/bin/linux/<arch>/kubectl
chmod +x kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
```

## Step 3: Disable the `nouveau` driver

Confirm that the `nouveau` graphics driver is not loaded. For instructions, see [Disable the nouveau driver in the NVIDIA documentation](https://docs.nvidia.com/ai-enterprise/deployment/vmware/latest/nouveau.html).

Run the following command to check whether the `nouveau` driver is loaded. If the command returns output, follow the next steps to turn off the driver and reboot.

```bash theme={null}
lsmod | grep nouveau
```

If the `nouveau` driver is loaded:

```bash theme={null}
cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveau
options nouveau modeset=0
EOF

# Regenerate the kernel initramfs.
sudo dracut --force

# Reboot the system.
sudo systemctl reboot

# After reboot, confirm that the nouveau driver is not loaded.
lsmod | grep nouveau
```

## Step 4: Install the NVIDIA driver

Poolside disables GPU Operator driver installation on SLES and other SUSE variants because the drivers are available through SUSE-owned and operated container repositories that Poolside cannot redistribute.

Install NVIDIA driver version <code>{nvidiaDriverVersion}</code> before you run the installer. This is the driver version listed for the certified on-premises stack.

Follow NVIDIA's instructions for your host operating system:

* [SLES](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#suse-linux-enterprise-server)

## Step 5: Verify prerequisites

Your host is ready when the following checks pass:

* Confirm that `sudo` resolves `/usr/local/bin`:

  ```bash theme={null}
  sudo grep secure_path /etc/sudoers
  ```

* Confirm that the required tools are installed and on the path:

  ```bash theme={null}
  kubectl version --client
  jq --version
  /usr/local/bin/yq --version
  /usr/local/bin/terraform version
  skopeo --version
  ```

* Confirm that the `nouveau` driver is not loaded. This command returns no output:

  ```bash theme={null}
  lsmod | grep nouveau
  ```

* Confirm that the NVIDIA driver is loaded and reports the host GPUs:

  ```bash theme={null}
  nvidia-smi
  ```

## Next steps

* [Install on-premises](/deployment/on-prem/install)

## Related resources

* [On-premises installation prerequisites](/deployment/on-prem/prerequisites/overview)
* [Install on-premises](/deployment/on-prem/install)
* [On-premises deployment](/deployment/on-prem/overview)
* [Supported configurations](/deployment/supported-configurations)
