summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2026-03-10 11:03:24 +0100
committerSimon Rettberg2026-03-10 11:03:24 +0100
commit07204d8c99cf0c41f4fa1df2a4adadad65603e9e (patch)
tree592d5a12aafbc724a384d8f964deca5068adf7fe
parent[dnbd3-rootfs] Don't make /usr read-only in initrd (diff)
downloadsystemd-init-07204d8c99cf0c41f4fa1df2a4adadad65603e9e.tar.gz
systemd-init-07204d8c99cf0c41f4fa1df2a4adadad65603e9e.tar.xz
systemd-init-07204d8c99cf0c41f4fa1df2a4adadad65603e9e.zip
[slx-drm] More debug output when setting up nvidia drivers
-rwxr-xr-xmodules.d/slx-drm/hooks/s3-activate-nvidia-drivers.sh20
1 files changed, 15 insertions, 5 deletions
diff --git a/modules.d/slx-drm/hooks/s3-activate-nvidia-drivers.sh b/modules.d/slx-drm/hooks/s3-activate-nvidia-drivers.sh
index 77efa097..47fd06e5 100755
--- a/modules.d/slx-drm/hooks/s3-activate-nvidia-drivers.sh
+++ b/modules.d/slx-drm/hooks/s3-activate-nvidia-drivers.sh
@@ -2,23 +2,33 @@
# hard check on nvidia graphic cards
cards="$( lspci -n | grep -o ' 03..: 10de:....' | awk '{print $2}' )"
-if ! [ -d "/drm.cfg.d" ] && [ -n "$cards" ]; then
+[ -z "$cards" ] && exit 0 # Nothing to do
+
+if ! [ -d "/drm.cfg.d" ]; then
echo "Failed to find '/drm.cfg.d', but have nvidia cards - will try nouveau."
exit 1
fi
-[ -d "/drm.cfg.d" ] || exit 0
+echo "Found NVIDIA device(s): " $cards
for card in $cards; do
driver="$(awk '$1 = /'"$card"'/ {print $2; exit}' /drm.cfg.d/*)"
[ -z "$driver" ] && continue
- driver="${driver#'@'}"
- driver="${driver//-/\/}"
+ driver="${driver#'@'}" # remove leading @, expecting something like @nvidia-1.2.3
+ driver="${driver//-/\/}" # turn dash into slash -> nvidia/1.2.3
+ echo "Card $card matches driver $driver, moving into place and updating module dependencies"
driver_dir="/lib/modules/${driver}"
- [ -d "$driver_dir" ] || continue
+ if ! [ -d "$driver_dir" ]; then
+ echo "Cannot find expected driver directory '$driver_dir'"
+ continue
+ fi
driver_target="/lib/modules/$(uname -r)/kernel/drivers/gpu/drm/nvidia"
if [ -d "$driver_target" ]; then
echo "'$driver_target' exists, will not overwrite!"
+ echo "Existing:"
+ ls -l "$driver_target"
+ echo "Wanted to copy:"
+ ls -l "$driver_dir"
exit 1
fi
# all good, move it over