binary-code-img

PetaLinux Gotchas with XSA Templates and PL Programming

Devontae Reid
Devontae Reid
Technology Embedded Engineer

Topic: PetaLinux Project Setup and Boot Issues

Date: 12/19/2025

Source: Hands-on debugging / personal notes


Key Points

  • Creating a PetaLinux project from a template does not fully auto-detect the board from the XSA
  • Device Tree Generator (DTG) must be explicitly configured
  • Linux kernel may fail to boot if the Programmable Logic (PL) is not programmed
  • These issues can appear as early boot hangs or RCU stalls

Examples & Details

References:

                petalinux-config
                → DTG Settings
                → (DTG_AUTOCONFIG) AUTO
              
            
  • In another case, the Linux kernel would not boot because PL-based peripherals were expected
  • The kernel stalled because the PL bitstream was never loaded

Questions & Clarifications

  • Is DTG behavior consistent across PetaLinux versions?
  • Which boot stage is best for PL programming in this setup (FSBL vs U-Boot)?
  • Can missing PL programming always be detected via boot logs?

Action Items / Next Steps

Summary

PetaLinux templates simplify project creation but do not eliminate the need for explicit configuration. DTG must be set to AUTO to properly generate the device tree from an XSA, and Linux will not boot correctly if it depends on PL-based hardware that has not been programmed. Making these steps explicit early prevents long debugging sessions.


DR

Devontae Reid

Servant of Christ and a Senior Software Engineer with a passion for building innovative solutions that make a difference.

Contact

devontae.reid@gmail.com

Remote / Worldwide

© 2026 Devontae Reid. All rights reserved.