summaryrefslogtreecommitdiffstats
path: root/core/modules/nvidia-common
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-26 11:24:14 +0200
committerroot2019-04-26 11:24:14 +0200
commit24fb4ad142f7cb932a5e47ee80c9bbfc10a758c0 (patch)
tree5873fcbd617e6ea13f1c1bdc6145211441fbf764 /core/modules/nvidia-common
parentSupport multi-target targets with @ syntax (diff)
downloadmltk-24fb4ad142f7cb932a5e47ee80c9bbfc10a758c0.tar.gz
mltk-24fb4ad142f7cb932a5e47ee80c9bbfc10a758c0.tar.xz
mltk-24fb4ad142f7cb932a5e47ee80c9bbfc10a758c0.zip
[nvidia*/rfs-s31] Support shipping multiple driver versions
Diffstat (limited to 'core/modules/nvidia-common')
-rw-r--r--core/modules/nvidia-common/module.build16
-rw-r--r--core/modules/nvidia-common/module.conf3
2 files changed, 10 insertions, 9 deletions
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
"