如果您是一位使用NVIDIA Jetson开发套件的开发者,您可能已经熟悉NVIDIA SDK Manager。这是一个强大的工具,简化了NVIDIA JetPack SDK的安装过程,让您可以快速设置开发环境,并立即开始项目。但是,您是否知道SDK Manager现在提供了更多的灵活性和定制化选项?让我们深入了解详情,探索如何根据您的特定需求定制安装过程。
过去,SDK Manager的无缝安装体验仅适用于NVIDIA开发套件。然而,NVIDIA已经意识到在Jetson社区中扩展支持的重要性。为了实现这一目标,他们使得Jetson生态系统合作伙伴和客户能够将他们基于Jetson的载板集成到SDK Manager中。这意味着您现在可以在合作伙伴产品和自定义载板上享受相同无缝的安装体验。
更新后的SDK Manager的一个显著特点是可以定制JetPack安装。通过修改NVIDIA JetPack软件堆栈的安装步骤和二进制文件,您可以根据自己的特定需求进行调整。此外,您可以自行覆盖NVIDIA Jetson的硬件信息,使用您自己载板的详细信息。这种定制化的自由度确保了SDK Manager可以无缝支持各种硬件配置。
那么,您该如何利用这些定制化选项呢?这是一个简单的过程。以下是一份逐步指南,帮助您入门:
额外的配置文件在定制化安装过程中扮演了关键角色。它允许您修改SDK Manager使用的JSON清单文件中存储的原始值。这些清单文件包含与每个SDK版本相关的硬件和软件信息。当您提供额外的配置文件时,它将覆盖或添加新的对象到安装会话中,确保您的定制化生效。
要创建自己的额外配置文件,您需要从原始发布清单中分配需要修改的对象。您可以轻松查询原始发布清单文件,并参考提供的示例文件了解其结构并进行必要的调整。
通过利用SDK Manager定制化选项所提供的灵活性,开发者可以根据自己的需求调整Jetson开发套件的安装过程。在使用合作伙伴产品或自定义载板时,这种适应性非常宝贵,因为它确保了在不同的硬件配置上实现无缝体验。
示例演示
图 1. SDK Manager JetPack SDK 安装用户界面视图
在本示例中,我们使用以下配置来创建自定义的开发环境:
-Jetpack 5.1.1带有自定义的BSP和刷写命令。-自定义的NVIDIA Jetson AGX Xavier模块。-SDK Manager版本1.9.3。
下载软件 JSON 清单文件(使用用户界面或命令行):
-转至步骤 2 查看组件列表。
-完成后,退出 SDK Manager。
-要使用 SDK Manager 命令行界面,请使用特定参数运行 NVIDIA SDK Manager CLI,例如:
# sdkmanager --cli install --logintype devzone --product Jetson --host --targetos Linux --version 5.1.1 --target JETSON_AGX_XAVIER_TARGETS --flash all
-查看主窗口中的组件列表。
-完成后,退出 SDK Manager。
图 2. SDK Manager 和 JetPack SDK 安装命令行界面视图
2. 从 ~/.nvsdkm/dist/ 目录获取软件参考文件 (sdkml3_jetpack_511.json)。
图 3. 软件参考文件
3. 从 ~/.nvsdkm/hwdata/ 目录获取硬件参考文件。
图 4. 硬件参考文件
4. 从 JetPack 5.1.1 示例文件下载基于 JetPack 5.1.1 (rev. 1) 的示例配置文件 (extraconfig)。
-对于本示例,我们将其重命名为:extra_config_jetpack_511_xavier.json
5. 覆盖信息部分。
-从软件参考文件中,将信息部分中与版本相关的键和值复制到额外的配置文件中。-对于这个例子来说,它是:
"information": {
"release": {
"releaseVersion": "JetPack 5.1.1",
"releaseEdition": "",
"releaseRevision": 1
}
},
6. 覆盖软件部分。此步骤将使用您的自定义软件和安装步骤覆盖特定组件安装。组件位于 s 参考文件中的组件对象中。
-在此示例中,我们正在修改 JetPack 5.1.1 (rev. 1) 以支持自定义 BSP 和刷新命令,因此相关组件为:
Components.NV_L4T_FILE_SYSTEM_AND_OS_COMP(用于 BSP)
Components.NV_L4T_FLASH_JETSON_LINUX_COMP(用于 flash 命令)
7. 将这两个组件复制到额外配置文件中的软件部分。
- NV_L4T_FILE_SYSTEM_AND_OS_COMP:使用自定义的 BSP 文件信息和正确的安装命令更新 downloadFiles 对象。有关详细信息,请参阅架构对象:
https://docs.nvidia.com/sdk-manager/extra-config-file/index.html#schema-objects
- NV_L4T_FLASH_JETSON_LINUX_COMP:使用自定义 Jetson AGX Xavier 板的正确刷新命令更新 componentInstallParameters.installCommands 对象。有关详细信息,请参阅架构对象。
8. 覆盖硬件部分。此步骤将使用您自定义的硬件设备覆盖特定的硬件设备参数。硬件设备位于硬件参考文件中的 hw 对象中,应将其复制到额外配置文件中的 hw 对象中。
-在此示例中,最接近的文件是 Jetson AGX Xavier:
~/.nvsdkm/hwdata/HWDevices/Jetson/JETSON_AGX_XAVIER.json
-将硬件参考文件中的 JETSON_AGX_XAVIER 对象复制到额外配置文件中的 hw 对象,然后根据架构对象的指导根据定制的硬件信息对其进行修改。
与客户共享您创建的额外配置文件。他们能:下载额外的配置文件并使用以下命令运行:
sdkmanager --extraconfig [local path to extra_config_jetpack_511_xavier.json]
这可以根据需要与其他命令行参数一起使用。
总之,NVIDIA SDK Manager是在NVIDIA Jetson开发套件上安装NVIDIA JetPack SDK的重要工具。通过最新的更新,SDK Manager现在允许开发者定制他们的安装过程,使其适应特定的硬件配置。通过创建额外的配置文件并利用其功能,释放您的创造力,利用SDK Manager的定制化选项,发挥Jetson项目的全部潜力。
参考资料:
https://docs.nvidia.com/sdk-manager/extra-config-file/index.html