Why can't I compile the device tree?

When I use the Jetson Orin Nano DevKit with version 36.4.3, I want to use /ivc-echo-task.c, so I modified the file Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi. However, I don’t quite understand the following two steps:

  1. Compile the device tree and copy the dtb file to the Linux_for_Tegra/dtb/ directory.

  2. Rebuild the device tree and reflash the board by referencing the instructions in the “Building the Kernel” section of the Linux Developer Guide.

I am not sure how to compile the device tree. What should I do?

Currently, I have already installed the toolchain. However, after running the following commands:

export CROSS_COMPILE=$HOME/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src
make dtbs

I encountered the following error:

================================================================================
make nvidia-dtbs ...
================================================================================
TEGRA_TOP=/home/rvbust/zc.you/Linux_for_Tegra/source \
srctree=/home/rvbust/zc.you/Linux_for_Tegra/source/kernel/kernel-jammy-src \
objtree=/home/rvbust/zc.you/Linux_for_Tegra/source/kernel/kernel-jammy-src \
oottree=/home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree \
HOSTCC=gcc \
make -f /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/scripts/Makefile.build \
        obj=/home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts \
        dtbs
make[1]: Entering directory '/home/rvbust/zc.you/Linux_for_Tegra/source'
  mkdir -p /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/ ; gcc -E -Wp,-MMD,/home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.d.pre.tmp -nostdinc -I/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/tegra/nv-public -I/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/include/kernel -I/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/include/nvidia-oot -I/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/include/platforms -I/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public -I/home/rvbust/zc.you/Linux_for_Tegra/source/kernel/kernel-jammy-src/scripts/dtc/include-prefixes  -DLINUX_VERSION=600 -DTEGRA_HOST1X_DT_VERSION=2 -undef -D__DTS__ -x assembler-with-cpp -o /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.dts.tmp /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts/../..//hardware/nvidia/t23x/nv-public/tegra234-p3737-0000+p3701-0000.dts ; /home/rvbust/zc.you/Linux_for_Tegra/source/kernel/kernel-jammy-src/scripts/dtc/dtc -o /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/tegra234-p3737-0000+p3701-0000.dtb -b 0 -i/home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts/../..//hardware/nvidia/t23x/nv-public/ -i/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/tegra/nv-public -i/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/include/kernel -i/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/include/nvidia-oot -i/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/include/platforms -i/home/rvbust/zc.you/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public -i/home/rvbust/zc.you/Linux_for_Tegra/source/kernel/kernel-jammy-src/scripts/dtc/include-prefixes -Wno-interrupt_provider -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-simple_bus_reg -Wno-unique_unit_address   -@ -@ -@ -@ -Wno-interrupt_provider -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-simple_bus_reg -Wno-unique_unit_address   -d /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.d.dtc.tmp /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.dts.tmp ; cat /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.d.pre.tmp /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.d.dtc.tmp > /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/.tegra234-p3737-0000+p3701-0000.dtb.d
FATAL ERROR: Unrecognized check name "interrupt_provider"
make[1]: *** [/home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts/Makefile:118: /home/rvbust/zc.you/Linux_for_Tegra/source/kernel-devicetree/generic-dts//hardware/nvidia/t23x/nv-public/tegra234-p3737-0000+p3701-0000.dtb] Error 1
make[1]: Leaving directory '/home/rvbust/zc.you/Linux_for_Tegra/source'
make: *** [Makefile:173: nvidia-dtbs] Error 2