Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions rhel8/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ DNF_RELEASEVER=${DNF_RELEASEVER:-""}
RHEL_VERSION=${RHEL_VERSION:-""}
RHEL_MAJOR_VERSION=8
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

DRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}
echo "DRIVER_ARCH is $DRIVER_ARCH"
Expand Down Expand Up @@ -340,11 +341,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -672,6 +692,8 @@ _prepare() {
_find_vgpu_driver_version || exit 1
fi

_create_module_params_conf

# Install the userspace components
sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \
cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \
Expand Down
26 changes: 24 additions & 2 deletions rhel9/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ RHEL_VERSION=${RHEL_VERSION:-""}
RHEL_MAJOR_VERSION=9
RHEL_MINOR_VERSION=${RHEL_MINOR_VERSION:-""}
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

DRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}
echo "DRIVER_ARCH is $DRIVER_ARCH"
Expand Down Expand Up @@ -354,11 +355,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -691,6 +711,8 @@ _prepare() {
_find_vgpu_driver_version || exit 1
fi

_create_module_params_conf

# Install the userspace components and copy the kernel module sources.
sh NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION.run -x && \
cd NVIDIA-Linux-$DRIVER_ARCH-$DRIVER_VERSION && \
Expand Down
26 changes: 23 additions & 3 deletions rhel9/precompiled/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ USE_HOST_MOFED="${USE_HOST_MOFED:-false}"
DNF_RELEASEVER=${DNF_RELEASEVER:-""}
RHEL_VERSION=${RHEL_VERSION:-""}
RHEL_MAJOR_VERSION=9

MODPROBE_CONFIG_DIR="/etc/modprobe.d"

DRIVER_ARCH=${TARGETARCH/amd64/x86_64} && DRIVER_ARCH=${DRIVER_ARCH/arm64/aarch64}
echo "DRIVER_ARCH is $DRIVER_ARCH"
Expand Down Expand Up @@ -164,11 +164,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -353,6 +372,7 @@ _shutdown() {
}

_load() {
_create_module_params_conf
_load_driver
_mount_rootfs

Expand Down
25 changes: 23 additions & 2 deletions ubuntu20.04/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ NVIDIA_MODESET_MODULE_PARAMS=()
NVIDIA_PEERMEM_MODULE_PARAMS=()
TARGETARCH=${TARGETARCH:?"Missing TARGETARCH env"}
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

export DEBIAN_FRONTEND=noninteractive

Expand Down Expand Up @@ -260,11 +261,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -600,6 +620,7 @@ init() {
#_cleanup_package_cache
fi

_create_module_params_conf
_install_driver
_load_driver || exit 1
_mount_rootfs
Expand Down
25 changes: 23 additions & 2 deletions ubuntu20.04/precompiled/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ NVIDIA_MODULE_PARAMS=()
NVIDIA_UVM_MODULE_PARAMS=()
NVIDIA_MODESET_MODULE_PARAMS=()
NVIDIA_PEERMEM_MODULE_PARAMS=()
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

_update_package_cache() {
if [ "${PACKAGE_TAG:-}" != "builtin" ]; then
Expand Down Expand Up @@ -96,11 +97,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
echo "Loading ipmi and i2c_core kernel modules..."
modprobe -a i2c_core ipmi_msghandler ipmi_devintf

Expand Down Expand Up @@ -261,6 +281,7 @@ init() {

_update_package_cache

_create_module_params_conf
_install_driver
_load_driver || exit 1
_mount_rootfs
Expand Down
25 changes: 23 additions & 2 deletions ubuntu22.04/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ NVIDIA_PEERMEM_MODULE_PARAMS=()
TARGETARCH=${TARGETARCH:?"Missing TARGETARCH env"}
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
UBUNTU_PRO_TOKEN=${UBUNTU_PRO_TOKEN:-""}
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

export DEBIAN_FRONTEND=noninteractive

Expand Down Expand Up @@ -303,11 +304,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -678,6 +698,7 @@ init() {
#_cleanup_package_cache
fi

_create_module_params_conf
_install_driver
_load_driver || exit 1
_mount_rootfs
Expand Down
25 changes: 23 additions & 2 deletions ubuntu22.04/precompiled/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ NVIDIA_MODESET_MODULE_PARAMS=()
NVIDIA_PEERMEM_MODULE_PARAMS=()
TARGETARCH=${TARGETARCH:?"Missing TARGETARCH env"}
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

_update_package_cache() {
if [ "${PACKAGE_TAG:-}" != "builtin" ]; then
Expand Down Expand Up @@ -122,11 +123,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -389,6 +409,7 @@ init() {
_unload_driver || exit 1
_unmount_rootfs

_create_module_params_conf
_install_driver
_load_driver || exit 1
_mount_rootfs
Expand Down
25 changes: 23 additions & 2 deletions ubuntu24.04/nvidia-driver
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ NVIDIA_PEERMEM_MODULE_PARAMS=()
TARGETARCH=${TARGETARCH:?"Missing TARGETARCH env"}
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
UBUNTU_PRO_TOKEN=${UBUNTU_PRO_TOKEN:-""}
MODPROBE_CONFIG_DIR="/etc/modprobe.d"

export DEBIAN_FRONTEND=noninteractive

Expand Down Expand Up @@ -244,11 +245,30 @@ _get_module_params() {
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
_create_module_params_conf() {
echo "Parsing kernel module parameters..."
_get_module_params

if [ ${#NVIDIA_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia module parameters in ${MODPROBE_CONFIG_DIR}/nvidia.conf"
echo "options nvidia ${NVIDIA_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia.conf
fi
if [ ${#NVIDIA_UVM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-uvm module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf"
echo "options nvidia-uvm ${NVIDIA_UVM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-uvm.conf
fi
if [ ${#NVIDIA_MODESET_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-modeset module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf"
echo "options nvidia-modeset ${NVIDIA_MODESET_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-modeset.conf
fi
if [ ${#NVIDIA_PEERMEM_MODULE_PARAMS[@]} -gt 0 ]; then
echo "Configuring nvidia-peermem module parameters in ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf"
echo "options nvidia-peermem ${NVIDIA_PEERMEM_MODULE_PARAMS[@]}" > ${MODPROBE_CONFIG_DIR}/nvidia-peermem.conf
fi
}

# Load the kernel modules and start persistenced.
_load_driver() {
local nv_fw_search_path="$RUN_DIR/driver/lib/firmware"
local set_fw_path="true"
local fw_path_config_file="/sys/module/firmware_class/parameters/path"
Expand Down Expand Up @@ -580,6 +600,7 @@ init() {
#_remove_prerequisites
#_cleanup_package_cache

_create_module_params_conf
_install_driver
_load_driver || exit 1
_mount_rootfs
Expand Down
Loading