容器中运行NVIDIA SDK Manager简明教程

原创
2021/08/25 18:59
阅读数 1K

NVIDIA SDK Manager是NVIDIA用于连接边缘设备(模块)的UI工具,执行下载启动程序、安装驱动、配置参数等工作。可以在Ubuntu和CentOS中运行,也可以在Docker中运行,对于目前不支持的宿主机系统,Docker中运行也是目前唯一的方法。

一、下载并安装

  1. 下载和安装Docker engine: Install Docker Engine @ Docker Documentation.

    对于Linux 用户,强烈建议managing Docker as a non-root user, 参考 Post-installation steps for Linux @ Docker Documentation.

  2. 到下载页面: https://developer.nvidia.com/nvidia-sdk-manager-docker-image.

  3. 下载文件到宿主机。

  4. 打开控制台,载入 Docker image:

    docker load -i ./sdkmanager_[version].[build#]_docker.tar.gz

二、 使用SDK Manager Docker Image

2.1. Guidelines

  • The image is built for using SDK Manager CLI mode only. See Install with the Command Line for more information.

  • Flashing the target device requires full access to the USB port on the host machine.

  Note:  

Creating a DRIVE image for DRIVE Software 10.0 is not currently supported.  

2.2. Base Usage

The Docker image is designed to be executed directly from the host, without the need to open the terminal inside the docker itself. The sdkmanager executable is the entrypoint.

SDK Manager CLI arguments should be used directly when running a new container:

  • SDK Manager CLI

    sdkmanager –-ver
  • SDK Manager CLI with Docker

    docker run -it --rm sdkmanager –-ver

See Install with the Command Line for more information.

三、 其它考虑

  • By default, the initial container has a clean profile and local database. This needs to be taken into consideration as far as how to use the image, and when to save the changes (commit) into a new image. This will depend on the usage plans for the container, if there is a plan to re-use it after installation or start each time from a clean phase. Alter your plans according to whether you intend to have a different container for each SDK release or a unique one.

  • Flashing requires privileged access and mapping USB ports into the container:

    --privileged -v /dev/bus/usb:/dev/bus/usb/
  • Depending on your local network's security settings, you may need to set access to your local network with --network host. This is primarily needed if you wish to interact with Jetson devices via L4T USB Device mode.

  • The local user inside the Docker is nvidia with nvidia as the password. The home folder is /home/nvidia.
  • Examples for setting the container for flashing and re-use are as follows:

    • Initial install and flash; this example uses JetPack 4.4.1 and the Jetson Nano NX Devkit.

      docker run -it --privileged -v /dev/bus/usb:/dev/bus/usb/ --name JetPack_NX_Devkit sdkmanager --cli install --logintype devzone --product Jetson --target P3668-0000 --targetos Linux --version 4.4.1 --select 'Jetson OS' --deselect 'Jetson SDK Components' --flash all --license accept --staylogin true --datacollection enable --exitonfinish
    • After install and flash, commit the container as a new image.

      docker commit JetPack_NX_Devkit jetpack_nx_devkit:4.4.1_flash
      docker container rm  JetPack_NX_Devkit
    • Next, flash can be executed from the created image directly, without additional arguments. The container can then be removed after flash is complete.

      docker run -it --rm --privileged -v /dev/bus/usb:/dev/bus/usb/ jetpack_nx_devkit:4.4.1_flash

4、已知问题

WSL / Docker in Windows 10 Desktop Host

  • Currently, flashing the target device is not supported, due to lack of USB porting support.

  • When installing JetPack SDK using the SDK Manager Docker image, you should first install qemu-user-static on your host machine. Without qemu-user-static package, you will get the following error during installation from the File System and OS component:

    'dpkg': Exec format error

更多内容:

  Previous Topics     Next Topics  

System Requirements    

Download and Install SDK Manager    

SDK Manager Settings    

Home    

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部