From 24fb4ad142f7cb932a5e47ee80c9bbfc10a758c0 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 26 Apr 2019 11:24:14 +0200 Subject: [nvidia*/rfs-s31] Support shipping multiple driver versions --- core/modules/nvidia-common/module.build | 16 ++++++++++------ core/modules/nvidia-common/module.conf | 3 --- 2 files changed, 10 insertions(+), 9 deletions(-) (limited to 'core/modules/nvidia-common') diff --git a/core/modules/nvidia-common/module.build b/core/modules/nvidia-common/module.build index d43ce83f..9bf73af8 100644 --- a/core/modules/nvidia-common/module.build +++ b/core/modules/nvidia-common/module.build @@ -39,6 +39,10 @@ build() { /NVIDIA/nvidia-installer --no-nouveau-check --no-network --no-backup --no-rpms --no-runlevel-check \ --no-distro-scripts --no-cc-version-check --no-x-check --no-precompiled-interface --silent \ --kernel-source-path "/$KERNEL_HEADERS_DIR" + grep -qF '.ko failed to build' /var/log/nvidia-installer.log \ + || /NVIDIA/nvidia-installer --no-nouveau-check --no-network --no-backup --no-rpms --no-runlevel-check \ + --no-distro-scripts --no-cc-version-check --no-x-check --no-precompiled-interface --silent \ + --no-kernel-module exit 0 # Fake it since it will try to load the module and probably fail EOF if grep -qF '.ko failed to build' "${builddir}/var/log/nvidia-installer.log"; then @@ -47,14 +51,14 @@ build() { fi pinfo "chroot terminated, cleaning up" - # move whiteout list to its /opt/openslx/etc/nvidia.whiteout + # move whiteout list to its /opt/openslx/etc/nvidia.whiteout (inside $builddir, for lib target) if [ -e "${builddir}/overlay.whiteout.list" ]; then mkdir -p "${builddir}/opt/openslx/etc" mv "${builddir}/overlay.whiteout.list" "${builddir}/opt/openslx/etc/nvidia.whiteout" fi -# SNIP - NVIDIA_MODULES="${builddir}/lib/modules/nvidia/${version}" + # Kernel related - outside of version subdir ($builddir) + NVIDIA_MODULES="${MODULE_BUILD_DIR}/lib/modules/nvidia/${version}" mkdir -p "$NVIDIA_MODULES" pinfo "Copying kernel modules..." for file in nvidia.ko nvidia-uvm.ko nvidia-modeset.ko nvidia-drm.ko; do @@ -65,10 +69,10 @@ build() { cp "$RESULT" "$NVIDIA_MODULES" || perror "Could not copy $file" done - mkdir -p "${builddir}/drm.cfg.d" - drmfile="${builddir}/drm.cfg.d/$(( filenum++ ))-nvidia" + mkdir -p "${MODULE_BUILD_DIR}/drm.cfg.d" + drmfile="${MODULE_BUILD_DIR}/drm.cfg.d/$(( filenum++ ))-nvidia-$version" cat > "$drmfile" <<-BLOFF - @nvidia-${version} acpi_ipmi nvidia-$version/nvidia.ko nvidia-$version/nvidia-uvm.ko nvidia-$version/nvidia-modeset.ko nvidia-$version/nvidia-drm.ko + @nvidia-${version} acpi_ipmi nvidia/$version/nvidia.ko nvidia/$version/nvidia-uvm.ko nvidia/$version/nvidia/modeset.ko nvidia-$version/nvidia/drm.ko @nvidia-${version}_fallback nouveau BLOFF if ! [ -s "${builddir}/supportedchips.html" ]; then diff --git a/core/modules/nvidia-common/module.conf b/core/modules/nvidia-common/module.conf index 7645cb2e..f1327ca8 100644 --- a/core/modules/nvidia-common/module.conf +++ b/core/modules/nvidia-common/module.conf @@ -2,9 +2,6 @@ REQUIRED_URL="http://download.nvidia.com/XFree86/Linux-x86_64/%VERSION%/NVIDIA-Linux-x86_64-%VERSION%.run" REQUIRED_HTML="http://download.nvidia.com/XFree86/Linux-x86_64/%VERSION%/README/supportedchips.html" -# Here? No REQUIRED_ prefix so it won't get cleaned... -:; NVIDIA_VERSIONS="418.56 390.116" - REQUIRED_MODULES=" kernel " -- cgit v1.2.3-55-g7522