Linux,Unix,BSD/Jetson
[Jetson] modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.10.104-tegra
채윤아빠
2023. 10. 17. 22:06
728x90
반응형
문제점 및 증상
DeepStream python 예제를 "nvcr.io/nvidia/deepstream-l4t:6.3-samples" 컨테이너를 이용하여 실행하려던 중 다음과 같은 오류가 발생하였고, 이를 해결하는 과정일 정리해 둡니다.
"nvcr.io/nvidia/deepstream-l4t:6.3-samples" 컨테이너는 다음과 같이 실행하였습니다.
docker run -it --rm --net=host --runtime nvidia --gpus all --name=ds \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-v ~/work:/workspace -w /workspace \
nvcr.io/nvidia/deepstream-l4t:6.3-samples
위와 같이 실행된 컨테이너에서 DeepStream python 예제를 실행하면 다음과 같은 오류가 발생합니다.
root@nvidia-desktop:/workspace/deepstream_python_apps/apps/deepstream-test1# python3 deepstream_test_1.py /opt/nvidia/deeepstream/deepstream/samples/streams/sample_720p.mp4
Creating Pipeline
Creating Source
Creating H264Parser
Creating Decoder
modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.10.104-tegra
Creating nv3dsink
Playing file /opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.mp4
Adding elements to Pipeline
Linking elements in the Pipeline
Starting pipeline
Error: gst-core-error-quark: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure. (4): gstbasesink.c(5367): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstNv3dSink:nv3d-sink:
Failed to start
해결 방법
컨테이너 내부에서 "/lib/modules/5.10.104-tegra" 폴더를 확인해 봤는데, 아예 "/lib/modules" 폴더가 존재하지 않았습니다.
그래서 다음과 같이 컨테이너를 실행하는 스크립트를 변경하여 실행하였습니다.
docker run -it --rm --net=host --runtime nvidia --gpus all --name=ds \
-v /lib/modules:/lib/modules \
-v /tmp/.X11-unix/:/tmp/.X11-unix \
-v ~/work:/workspace -w /workspace \
nvcr.io/nvidia/deepstream-l4t:6.3-samples
위와 같이 컨테이너를 실행하였더니, "modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.10.104-tegra" 관련 오류는 사라졌습니다.