diff options
| author | Simon Rettberg | 2026-03-10 11:03:24 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2026-03-10 11:03:24 +0100 |
| commit | 07204d8c99cf0c41f4fa1df2a4adadad65603e9e (patch) | |
| tree | 592d5a12aafbc724a384d8f964deca5068adf7fe | |
| parent | [dnbd3-rootfs] Don't make /usr read-only in initrd (diff) | |
| download | systemd-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-x | modules.d/slx-drm/hooks/s3-activate-nvidia-drivers.sh | 20 |
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 |
