"failed with exit code 1" in 60-nvidia.rules
Additional info:
- package version(s): nvidia-dkms: 550.78-1
- config and/or log files:
- NVIDIA GeForce RTX 2070/PCIe/SSE2
- systemd 255.6-2
11:11:21.155 UTC systemd-udevd.service nvidia_modeset: Process '/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $(grep nvidia /proc/devices | cut -d \ -f 1) 254'' failed with exit code 1.
11:11:21.156 UTC systemd-udevd.service nvidia: Process '/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $(grep nvidia /proc/devices | cut -d \ -f 1) 255'' failed with exit code 1.
11:11:21.165 UTC systemd-udevd.service nvidia: Process '/usr/bin/bash -c 'for i in $(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia${i} c $(grep nvidia /proc/devices | cut -d \ -f 1) ${i}; done'' failed with exit code 1.
11:11:21.186 UTC systemd-udevd.service nvidia: Process '/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $(grep nvidia /proc/devices | cut -d \ -f 1) 255'' failed with exit code 1.
11:11:21.194 UTC systemd-udevd.service nvidia: Process '/usr/bin/bash -c 'for i in $(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia${i} c $(grep nvidia /proc/devices | cut -d \ -f 1) ${i}; done'' failed with exit code 1.
Steps to reproduce:
- Install nvidia-dkms
- Reboot system
Description:
Every time I reboot, these errors appear in journalctl, and it seems that /dev/ devices appear quite late, since the unit I created for multi-user.target does not see any of the /dev/nvidia* devices.
I tried to run:
/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $(grep nvidia /proc/devices | cut -d \ -f 1) 255
And I get:
/usr/bin/mknod: extra operand "195"
If I run:
grep nvidia /proc/devices
I get:
195 nvidia
195 nvidia modeset
195 nvidiactl
236 nvidia-uvm
237 nvidia-nvswitch
238 nvidia-nvlink
239 nvidia-caps
240 nvidia-caps-imex-channels
But for mknod need 2 operand. Looks like a more precise grep search is needed, as an example::
/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $(grep nvidia$ /proc/devices | cut -d \ -f 1) 255
This command give me /dev/nvidiactl: File exist
and if I put this in the rules, the error related to nvidiactl will disappear
Is this normal behavior for the rules?
Also, rules with KERNEL=='nvidia' output 'failed with exit code 1' no matter what command you give.
I replaced it with KERNEL=='nvidia-modeset ', the error disappeared. /dev device started appearing in the early stages, but I'm not sure how correct this can be.
To me, this all looks a lot like errors in the script and udev, but I'm not sure. I don't know much about drivers and devices.