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:| Layer | Responsibility |
|---|---|
meta-qcom-robotics | Core robotics framework: ROS nodes, qrb-ros packages, sensor drivers, and robotics feature recipes |
meta-qcom-robotics-distro | Distribution configuration: distro conf files, image recipe definitions, and package groups |
meta-qcom-robotics-sdk | Product 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 singlemeta-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

