如何更改Jetson 6.1的ORIN NX BSP设备树(以USB与PCIE为例)

在最近NVIDIA的更新中,我发现Jetson6.1的BSP与Jetson5的BSP内容似乎有很大的差异,我使用的核心板是Jetson Orin NX16GB ,按照官方的文档进行修改配置,想要打开USB3-2与PCIE-C7与PCIE-C9。我下载了官方6.1的BSP,并按照如下命令进行配置

$ tar xf public_sources.tbz2 -C <install-path>/Linux_for_Tegra/..
$ cd <install-path>/Linux_for_Tegra/source
$ tar xf kernel_src.tbz2
$ tar xf kernel_oot_modules_src.tbz2
$ tar xf nvidia_kernel_display_driver_source.tbz2

然后导入编译环境与输出路径

$ export CROSS_COMPILE=<toolchain-path>/bin/aarch64-buildroot-linux-gnu-
$ export kernel_output=$HOME/kernel_output

直接运行脚本进行编译

cd path/to/Linux_for_Tegra/source
./nvbuild -o ${kernel_output}

然而它生成的文件与Jetson pack-5极大不同,我不知该如何找到其对应的dtb文件和image去替换Jetson内部的文件,另外想请教一下,相比于Jetson-pack5,我该如何修改Jetson6.1的BSP去打开USB3-2与PCIE-C7与PCIE-C9呢?是直接修改这个文件吗?

Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/tegra234-p3768-0000.dtsi

以下是我编译出的结果, 如何将编译后的设备树替换到Jetson orin nx上,具体怎么操作:

  1. 我不太清楚你在jetpack5怎麼做這些檔案替換的. 確實檔名可能換掉了, 但去找到機器上正在跑哪個device tree的方法在Jetpack5或Jetpack6是通用的. 你直接開機之後去看/boot/dtb底下是哪個檔案名字就可以了. 如果你開不了機, 去看flash時候的log也會寫. 知道檔名之後你就可以去source找dts是哪份了

  2. PCIe C7/C9的部分我們在 tegra234-p3767-sku-handling.dtsi已經有處理了. 你只要更改board config裡面ODMDATA的部分然後燒錄就會開C7/C9.

好的,我参考您说的方法已经成功了,话题可以关闭了

1 Like