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 of nvbuild.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:

  1. Verify Script Usage:

    • Ensure you are using nvbuild.sh instead of nv_src_build.sh. The latter may revert to an untarred state, ignoring your modifications.
    ./nvbuild.sh
    
  2. Check File Locations:

    • Confirm that your modified tegra234-p3768-0000-a0.dtsi file is located in the correct directory before running any build scripts.
  3. Inspect Script Configuration:

    • Review any configuration settings within nvbuild.sh to ensure it points to your modified files correctly.
  4. 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
    
  5. 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
    
  6. Documentation Review:

    • Consult Nvidia’s official documentation regarding device tree customization for any additional steps or requirements that may have been overlooked.
  7. Testing Different Configurations:

    • If issues persist, consider testing with a different configuration or starting from a known working state before applying your customizations again.
  8. Backup and Restore Process:

    • Always keep backups of original .dtsi files before making modifications, allowing you to revert if necessary.
  9. 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.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *