Skip to content

Commit 4d6bb0f

Browse files
refactor: address PR review comments for driver install scripts
Signed-off-by: Karthik Vetrivel <[email protected]>
1 parent b660caa commit 4d6bb0f

File tree

3 files changed

+15
-17
lines changed

3 files changed

+15
-17
lines changed

rhel9/common.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,15 @@ _read_conf_file() {
5353
}
5454

5555
# Build driver configuration for state comparison
56+
# Note: Variables are expected to be set by the sourcing script (nvidia-driver)
5657
_build_driver_config() {
5758
cat <<EOF
5859
DRIVER_VERSION=${DRIVER_VERSION}
59-
DRIVER_TYPE=${DRIVER_TYPE:-passthrough}
60+
DRIVER_TYPE=${DRIVER_TYPE}
6061
KERNEL_VERSION=$(uname -r)
61-
GPU_DIRECT_RDMA_ENABLED=${GPU_DIRECT_RDMA_ENABLED:-false}
62-
USE_HOST_MOFED=${USE_HOST_MOFED:-false}
63-
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE:-auto}
62+
GPU_DIRECT_RDMA_ENABLED=${GPU_DIRECT_RDMA_ENABLED}
63+
USE_HOST_MOFED=${USE_HOST_MOFED}
64+
KERNEL_MODULE_TYPE=${KERNEL_MODULE_TYPE}
6465
NVIDIA_MODULE_PARAMS=$(_read_conf_file /drivers/nvidia.conf)
6566
NVIDIA_UVM_MODULE_PARAMS=$(_read_conf_file /drivers/nvidia-uvm.conf)
6667
NVIDIA_MODESET_MODULE_PARAMS=$(_read_conf_file /drivers/nvidia-modeset.conf)

rhel9/nvidia-driver

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ PID_FILE=${RUN_DIR}/${0##*/}.pid
88
DRIVER_VERSION=${DRIVER_VERSION:?"Missing DRIVER_VERSION env"}
99
KERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver
1010
NUM_VGPU_DEVICES=0
11+
DRIVER_TYPE="${DRIVER_TYPE:-passthrough}"
1112
GPU_DIRECT_RDMA_ENABLED="${GPU_DIRECT_RDMA_ENABLED:-false}"
1213
USE_HOST_MOFED="${USE_HOST_MOFED:-false}"
1314
NVIDIA_MODULE_PARAMS=()
@@ -719,7 +720,7 @@ _start_daemons() {
719720
}
720721

721722
_store_driver_config() {
722-
local config_file="/run/nvidia/driver-config.state"
723+
local config_file="${RUN_DIR}/driver-config.state"
723724
echo "Storing driver configuration state..."
724725
_build_driver_config > "$config_file"
725726
echo "Driver configuration stored at $config_file"
@@ -757,7 +758,7 @@ _userspace_only_install() {
757758
fi
758759

759760
_mount_rootfs
760-
_start_daemons
761+
_ensure_persistence
761762
_write_kernel_update_hook
762763
_store_driver_config
763764
echo "Userspace-only install complete"

ubuntu22.04/nvidia-driver

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ PID_FILE=${RUN_DIR}/${0##*/}.pid
88
DRIVER_VERSION=${DRIVER_VERSION:?"Missing DRIVER_VERSION env"}
99
KERNEL_UPDATE_HOOK=/run/kernel/postinst.d/update-nvidia-driver
1010
NUM_VGPU_DEVICES=0
11+
DRIVER_TYPE="${DRIVER_TYPE:-passthrough}"
1112
GPU_DIRECT_RDMA_ENABLED="${GPU_DIRECT_RDMA_ENABLED:-false}"
1213
USE_HOST_MOFED="${USE_HOST_MOFED:-false}"
1314
NVIDIA_MODULE_PARAMS=()
@@ -660,7 +661,7 @@ _read_conf_file() {
660661
_build_driver_config() {
661662
cat <<EOF
662663
DRIVER_VERSION=${DRIVER_VERSION}
663-
DRIVER_TYPE=${DRIVER_TYPE:-passthrough}
664+
DRIVER_TYPE=${DRIVER_TYPE}
664665
KERNEL_VERSION=$(uname -r)
665666
GPU_DIRECT_RDMA_ENABLED=${GPU_DIRECT_RDMA_ENABLED}
666667
USE_HOST_MOFED=${USE_HOST_MOFED}
@@ -673,7 +674,7 @@ EOF
673674
}
674675

675676
_store_driver_config() {
676-
local config_file="/run/nvidia/driver-config.state"
677+
local config_file="${RUN_DIR}/driver-config.state"
677678
echo "Storing driver configuration state..."
678679
_build_driver_config > "$config_file"
679680
echo "Driver configuration stored at $config_file"
@@ -700,9 +701,9 @@ _install_userspace_components() {
700701
--x-sysconfig-path=/tmp/null
701702
}
702703

703-
_copy_kernel_module_sources() {
704+
_move_kernel_module_sources() {
704705
mkdir -p /usr/src/nvidia-${DRIVER_VERSION}
705-
cp -r LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-${DRIVER_VERSION}/
706+
mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-${DRIVER_VERSION}/
706707
sed '9,${/^\(kernel\|LICENSE\)/!d}' .manifest > /usr/src/nvidia-${DRIVER_VERSION}/.manifest
707708
}
708709

@@ -744,11 +745,9 @@ init() {
744745
echo "Detected matching loaded driver & config (${DRIVER_VERSION}); performing userspace-only install"
745746
_unmount_rootfs
746747
_update_package_cache
747-
_resolve_kernel_version || exit 1
748-
_install_prerequisites
749748
_install_userspace_components
750749
_resolve_kernel_type || exit 1
751-
_copy_kernel_module_sources
750+
_move_kernel_module_sources
752751
_mount_rootfs
753752
_ensure_persistenced
754753
_write_kernel_update_hook
@@ -764,10 +763,7 @@ init() {
764763
_install_userspace_components
765764
_resolve_kernel_type || exit 1
766765

767-
# Move (not copy) kernel module sources since this is the full install path
768-
mkdir -p /usr/src/nvidia-${DRIVER_VERSION}
769-
mv LICENSE mkprecompiled ${KERNEL_TYPE} /usr/src/nvidia-${DRIVER_VERSION}/
770-
sed '9,${/^\(kernel\|LICENSE\)/!d}' .manifest > /usr/src/nvidia-${DRIVER_VERSION}/.manifest
766+
_move_kernel_module_sources
771767

772768
if _kernel_requires_package; then
773769
_update_ca_certificates

0 commit comments

Comments
 (0)