Skip to main content
For Qualcomm Linux 2.0, the QIR SDK consolidates the three separate robotics OpenEmbedded (OE) layers into a single unified layer. This information describes what’s changed and how to update your custom build configurations.

Layer consolidation

QIR SDK for Qualcomm Linux 1.0: three separate layers

For Qualcomm Linux 1.0, the robotics build of QIR SDK is spread across three distinct OE layers:
LayerResponsibility
meta-qcom-roboticsCore robotics framework: ROS nodes, qrb-ros packages, sensor drivers, and robotics feature recipes
meta-qcom-robotics-distroDistribution configuration: distro conf files, image recipe definitions, and package groups
meta-qcom-robotics-sdkProduct SDK packaging: SDK artifact packaging tasks and the qirp-sdk recipe

QIR SDK for Qualcomm Linux 2.0: single unified layer

For Qualcomm Linux 2.0, all three layers of the QIR SDK are merged into a single meta-qcom-robotics-sdk layer. The actual directory structure of the layer is as follows:
meta-qcom-robotics-sdk/
├── ci/                                    # KAS YAML build configuration files
│   ├── base.yml                             # Base layer configuration (oe-core, meta-qcom, and others)
│   ├── mirror.yml                           # Shared-state (sstate) cache mirror configuration
│   ├── iq-9075-evk.yml                      # IQ-9075-EVK machine configuration
│   ├── iq-8275-evk.yml                      # IQ-8275-EVK machine configuration
│   ├── linux-qcom-6.18.yml                  # Kernel v6.18 provider configuration
│   ├── linux-qcom-rt-6.18.yml               # Real-time (RT) kernel v6.18 provider configuration
│   ├── linux-qcom-next.yml                  # linux-qcom-next kernel provider configuration
│   ├── qcom-distro.yml                      # Qualcomm Linux multimedia distribution
│   ├── qcom-distro-kvm.yml                  # Multimedia distribution with KVM machine feature enabled
│   ├── qcom-robotics-distro.yml             # Qualcomm Linux robotics distribution
│   ├── qcom-robotics-distro-catchall.yml    # Robotics distro with qcom-distro-catchall variant
│   ├── qcom-robotics-image.yml              # Build target: qcom-robotics-image
│   ├── qcom-robotics-proprietary-image.yml  # Build target: qcom-robotics-proprietary-image
│   ├── debug.yml                            # Debug build configuration
│   └── performance.yml                      # Performance build configuration
├── classes/                               # BitBake classes
│   ├── psdk-image.bbclass                 # SDK artifact generation task
│   ├── robotics-package.bbclass           # Robotics package staging helper
│   ├── rdepends-collector.bbclass         # Runtime dependency collection
│   └── rootfs-symlink.bbclass             # Rootfs symlink management
├── conf/
│   ├── layer.conf                         # Layer configuration
│   └── distro/
│       ├── qcom-robotics-ros2-jazzy.conf  # Distro: ROS 2 Jazzy on Qualcomm Linux
│       ├── qcom-robotics-distro-selinux.conf # Distro: SELinux required configuration
│       ├── qcom-robotics-distro-sota.conf # Distro: OTA required configuration
│       └── include/
│           └── qcom-robotics-sdk.inc      # QIR SDK configuration .inc file
├── recipes/                               # Feature recipes (qrb-ros packages, sensors, tools)
│   ├── qrb-ros-camera/
│   ├── qrb-ros-nn-inference/
│   ├── qrb-ros-audio-service/
│   ├── qrb-ros-transport/
│   └── ...
├── recipes-bbappends/                     # .bbappend files for upstream component adaptation
│   ├── recipe-ros/                        # ROS package adaptations (nav2, moveit, etc.)
│   ├── recipe-kernel/                     # Kernel config fragments and DTS patches
│   ├── recipe-support/                    # Third-party library adaptations
│   └── recipes-containers/               # Container runtime adaptations
├── recipes-products/                      # Image and packagegroup definitions
│   ├── images/
│   │   ├── qcom-robotics-image.bb         # Open-source robotics image
│   │   └── qcom-robotics-proprietary-image.bb  # Robotics image with proprietary packages
│   └── packagegroups/
│       ├── packagegroup-qcom-ros2.bb      # ROS 2 Jazzy framework and tools
│       ├── packagegroup-robotics-opensource.bb  # Open-source robotics packages
│       ├── packagegroup-oss-with-prop-deps.bb   # OSS packages with proprietary runtime deps
│       └── packagegroup-robotics-proprietary.bb # Qualcomm proprietary robotics binaries
├── recipes-sdk/                           # QIRP SDK packaging recipe and scripts
│   ├── qirp-sdk.bb
│   └── files/
│       ├── content_config.json
│       ├── install.sh / uninstall.sh
│       └── qrb_ros_samples_scripts/       # Per-sample build/deploy/run scripts
└── patches/                               # Patches applied to upstream layers via KAS