Device Tree Changes Not Reflected in DTB after running nv_src_build.sh
Issue Overview
Users are experiencing issues with the Nvidia Jetson Orin Nano Dev board where changes made to the device tree are not reflected in the resulting Device Tree Blob (DTB) file after executing the nv_src_build.sh
script. The symptoms include:
-
Specific Errors: Users report that modifications in the
tegra234-p3768-0000-a0.dtsi
file do not appear in the converted.dts
file after running the build script. -
Context of the Problem: This issue occurs during the setup phase when users attempt to customize their carrier board’s pinmux and device tree settings.
-
Hardware/Software Specifications: The issue is specific to custom Orin Nano/NX carrier boards. The users are modifying the device tree source files as per Nvidia’s documentation.
-
Frequency: This problem appears to be consistent among users attempting similar modifications.
-
Impact on User Experience: The inability to reflect changes in the DTB file can hinder users from customizing their hardware functionalities, leading to frustration and potential delays in development.
Possible Causes
Several potential causes for this issue have been identified:
-
Incorrect Script Usage: Users may mistakenly run
nv_src_build.sh
instead ofnvbuild.sh
, which can lead to rebuilding from an untarred source rather than using modified files. -
File Path Issues: If the modified
.dtsi
file is not correctly located in the expected directory, it may not be included in the build process. -
Script Configuration Errors: There may be misconfigurations within the scripts that prevent them from recognizing or applying changes made to the device tree files.
-
Environmental Factors: Issues such as insufficient permissions or incorrect working directories could also lead to failures in reflecting changes.
Troubleshooting Steps, Solutions & Fixes
To resolve this issue, follow these troubleshooting steps and solutions:
-
Verify Script Usage:
- Ensure you are using
nvbuild.sh
instead ofnv_src_build.sh
. The latter may revert to an untarred state, ignoring your modifications.
./nvbuild.sh
- Ensure you are using
-
Check File Locations:
- Confirm that your modified
tegra234-p3768-0000-a0.dtsi
file is located in the correct directory before running any build scripts.
- Confirm that your modified
-
Inspect Script Configuration:
- Review any configuration settings within
nvbuild.sh
to ensure it points to your modified files correctly.
- Review any configuration settings within
-
Permissions Check:
- Ensure you have the necessary permissions to read and write files in your working directory. You can adjust permissions using:
sudo chmod -R 755 /path/to/your/directory
-
Build Output Verification:
- After running
nvbuild.sh
, convert the resulting.dtb
back to.dts
and verify that your changes are reflected.
dtc -I dtb -O dts /path/to/output.dtb > output.dts
- After running
-
Documentation Review:
- Consult Nvidia’s official documentation regarding device tree customization for any additional steps or requirements that may have been overlooked.
-
Testing Different Configurations:
- If issues persist, consider testing with a different configuration or starting from a known working state before applying your customizations again.
-
Backup and Restore Process:
- Always keep backups of original
.dtsi
files before making modifications, allowing you to revert if necessary.
- Always keep backups of original
-
Community Feedback:
- Engage with community forums or Nvidia support for additional insights, especially if others have encountered similar issues.
By following these steps, users should be able to diagnose and resolve issues related to device tree changes not being reflected in the DTB file effectively.