This repository provides a scalable enterprise-grade Embedded Linux platform built using the Yocto Project.
The goal of this platform is to support multiple SoC vendors and hardware boards under a unified architecture with:
- Common BSP workflows
- CI/CD automation
- Reproducible builds
- OTA update support
- Secure boot integration
- Manufacturing flashing workflows
- Automated validation
- Long-term maintainability
The platform is designed for:
- Industrial systems
- Robotics
- AI edge devices
- Automotive gateways
- Medical devices
- IoT gateways
- Multimedia systems
- FPGA platforms
Supported:
- Raspberry Pi 4
- Raspberry Pi 5
- CM4
- CM5
Main Layer:
- meta-raspberrypi
Features:
- SD/eMMC boot
- USB boot
- Wayland/Weston
- Camera support
- GPU acceleration
- OTA support
Supported:
- i.MX6
- i.MX7
- i.MX8M
- i.MX8MP
- i.MX93
Main Layer:
- meta-freescale
Features:
- Secure boot
- GPU/VPU acceleration
- AI acceleration
- Industrial BSP support
- eMMC/NAND/NVMe support
Supported:
- AM62x
- AM64x
- AM65x
- J721E
- BeagleBone AI
Main Layer:
- meta-ti
Features:
- MCU+Linux architecture
- IPC support
- Industrial Ethernet
- Edge AI acceleration
- Vision processing
Supported:
- Jetson Nano
- Xavier NX
- AGX Xavier
- Orin NX
- AGX Orin
Main Layer:
- meta-tegra
Features:
- CUDA
- TensorRT
- AI acceleration
- Multimedia pipelines
- GPU compute
Supported:
- RK3566
- RK3568
- RK3588
Main Layers:
- meta-rockchip
Features:
- Multimedia acceleration
- NPU support
- HDMI/MIPI pipelines
- NVMe support
Supported:
- ZCU102
- KV260
- VCK190
- ZedBoard
Main Layers:
- meta-xilinx
Features:
- FPGA bitstream integration
- Vitis AI
- Hardware accelerators
- Secure boot
- JTAG workflows
Supported:
- STM32MP157
- STM32MP13
Main Layer:
- meta-st-stm32mp
Features:
- OP-TEE
- Cortex-M co-processor
- Industrial control
- Low power systems
Supported:
- RB5
- RB3 Gen2
- DragonBoard
Main Layer:
- meta-qcom
Features:
- DSP acceleration
- AI acceleration
- Camera pipelines
- Android-style boot flows
Supported:
- VisionFive 2
- HiFive Unmatched
- Milk-V
- Banana Pi RISC-V
Main Layers:
- meta-riscv
- vendor BSP layers
Features:
- Open hardware ecosystem
- OpenSBI support
- Upstream Linux focus
Supported:
- Verdin iMX8MP
- Verdin AM62
- Apalis iMX8
- Colibri iMX6
Main Layers:
- meta-toradex-bsp-common
- meta-toradex-nxp
- meta-toradex-ti
Features:
- Torizon OS
- OTA support
- Industrial BSPs
- Container workflows
repo/
├── docs/
├── scripts/
├── ci/
├── kas/
├── build-configs/
├── meta-company-common/
├── meta-company-security/
├── meta-company-connectivity/
├── meta-company-gui/
├── meta-company-ai/
├── meta-company-industrial/
├── meta-company-ota/
├── meta-company-virtualization/
├── meta-company-robotics/
├── vendor/
│ ├── meta-raspberrypi/
│ ├── meta-freescale/
│ ├── meta-ti/
│ ├── meta-tegra/
│ ├── meta-xilinx/
│ ├── meta-qcom/
│ ├── meta-st-stm32mp/
│ ├── meta-rockchip/
│ └── meta-riscv/
└── tools/
| Component | Purpose |
|---|---|
| Yocto Project | Build framework |
| OpenEmbedded | Metadata ecosystem |
| BitBake | Task execution |
| kas | Build orchestration |
| Docker/Podman | Build containers |
| GitLab/GitHub Actions | CI/CD |
| RAUC/Mender | OTA updates |
| labgrid/LAVA | Hardware testing |
Recommended:
- Ubuntu 22.04 LTS
- 16+ CPU cores
- 64GB RAM
- 500GB SSD
sudo apt install gawk wget git diffstat unzip texinfo \
gcc build-essential chrpath socat cpio python3 python3-pip \
python3-pexpect xz-utils debianutils iputils-ping \
python3-git python3-jinja2 libsdl1.2-dev xterm \
zstd liblz4-toolgit clone <repo-url>
cd repo./scripts/sync-layers.shsource scripts/setup-env.shkas build kas/raspberrypi/rpi5.ymlkas build kas/nxp/imx8mp.ymlkas build kas/ti/am62.ymlkas build kas/nvidia/orin.yml| Image | Purpose |
|---|---|
| core-image-minimal | Minimal Linux |
| core-image-full-cmdline | CLI systems |
| core-image-weston | Wayland GUI |
| multimedia-image | Multimedia systems |
| ai-image | AI edge systems |
| industrial-image | Industrial deployments |
| factory-image | Manufacturing flashing |
| Method | Platforms |
|---|---|
| SD card | Raspberry Pi, RISC-V |
| eMMC flashing | NXP, TI, Toradex |
| USB recovery | STM32, Toradex |
| Fastboot | Qualcomm |
| SDK Manager | NVIDIA |
| JTAG | Xilinx |
| Network boot | All major platforms |
Checks:
- UART logs
- Bootloader
- Kernel boot
- Device tree
- RootFS mount
Checks:
- Ethernet
- Wi-Fi
- Bluetooth
- USB
- CAN
- SPI
- I2C
- GPIO
- UART
Checks:
- Weston
- DRM/KMS
- OpenGL ES
- Vulkan
- HDMI/MIPI display
Checks:
- TensorRT
- Vitis AI
- DSP/NPU acceleration
- ONNX Runtime
Checks:
- Secure boot
- OP-TEE
- Signed images
- TPM integration
- Encrypted storage
Checks:
- A/B updates
- Rollback
- Image integrity
- Partition switching
Git Push
↓
Static Analysis
↓
kas Build
↓
SPDX/SBOM Generation
↓
Artifact Packaging
↓
Flash Hardware
↓
UART Capture
↓
Hardware Validation
↓
OTA Validation
↓
Release Publish
Supported:
- Incremental builds
- Shared sstate cache
- Shared downloads cache
- Artifact retention
- Parallel hardware testing
- Multi-board matrix builds
- SBOM generation
- CVE scanning
| Release | Purpose |
|---|---|
| Development | Daily builds |
| QA | Validation builds |
| Release Candidate | Pre-production |
| Production | Stable release |
| LTS | Long-term support |
Supported Frameworks:
- RAUC
- Mender
- OSTree
- Aktualizr
Features:
- A/B partitions
- Rollback
- Signed bundles
- Delta updates
- Fleet management
| Feature | Support |
|---|---|
| Secure Boot | Yes |
| TPM | Yes |
| OP-TEE | Yes |
| dm-verity | Yes |
| SELinux | Optional |
| Disk Encryption | Yes |
| Signed OTA | Yes |
Factory PC
↓
Recovery Mode
↓
Flash Device
↓
Run Validation
↓
Generate Device Certificate
↓
Store Manufacturing Logs
| Component | Recommendation |
|---|---|
| Power control | USB relay/PDU |
| UART capture | Serial servers |
| Flash automation | labgrid |
| Test orchestration | LAVA |
| Thermal testing | Controlled chamber |
| Network isolation | VLAN setup |
- Use kas for reproducible builds
- Keep vendor layers unmodified
- Create custom company layers
- Enable UART on all boards
- Automate validation
- Version lock all layers
- Use shared sstate cache
- Maintain release manifests
- Modify vendor BSP directly
- Hardcode machine-specific hacks
- Skip secure boot validation
- Ignore OTA rollback testing
- Use SD cards for production systems
Feature Development
↓
Local Build
↓
Static Validation
↓
Hardware Flash
↓
Peripheral Tests
↓
CI Validation
↓
OTA Validation
↓
Release Tagging
Planned additions:
- Yocto Scarthgap LTS support
- Full SBOM automation
- CVE dashboards
- Fleet OTA management
- Secure enclave integration
- Kubernetes at edge
- AI benchmarking framework
- Rust embedded support
- Zephyr co-processor integration
- kas
- BitBake
- repo
- Docker
- Podman
- labgrid
- LAVA
- pytest
- Robot Framework
- UART adapters
- JTAG probes
- OpenOCD
- Wireshark
- perf
- trace-cmd
Before submitting:
- Run lint checks
- Validate on hardware
- Provide test logs
- Update documentation
- Include release notes