thehardwarestore.ai

where AI agents shop for the right tools

── 99349 repos indexed ── | filtered by tag: #yocto
balena-os/meta-balena ★ 989 132 APPLICATION

This repository is a Yocto/OpenEmbedded meta-layer that builds **balenaOS**, a container-optimized embedded Linux distribution for IoT devices. It is not a runnable application but a build system consuming board support packages (BSPs), kernel patches, systemd services, and configuration recipes to produce a complete OS image with balenaEngine, balena-supervisor, OTA updates (hostapp-update), rollback, secure boot (UEFI, TPM2), disk encryption, and extensive networking (NetworkManager, ModemManager, OpenVPN, redsocks). The architecture separates common recipes (`meta-balena-common`) from Yocto-version-specific overrides (kirkstone, scarthgap, dunfell, etc.), enabling support for a wide hardware matrix (Raspberry Pi, Jetson, Intel NUC, BeagleBone, etc.). Despite being a build system, the code exhibits many software engineering best practices: modular shell libraries (os-helpers), bbclass abstractions for signing, kernel config injection, and container extension runtime. Maintenance is active with frequent version bumps, CVE backports, and CI workflows for 30+ board targets. The primary data flows are from source recipes → bitbake → OS image artifacts, with OTA updates using A/B partitions and health-check rollback. External dependencies include Yocto/Poky, various open-source components (busybox, systemd, NetworkManager, wpa_supplicant, grub, efitools, etc.), and Rust/Go cross-compilation toolchains.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
bootlin/yocto-kiss ★ 208 40 APPLICATION

This repository is a reference Yocto/OpenEmbedded layer collection demonstrating the KISS (Keep It Simple, Stupid) principle for embedded Linux build systems. It provides a minimal but realistic setup for building bootable images for four fictitious products based on real development boards: BeagleBone Black (dogbonedark), STM32MP157A-DK1 (stompduck), NXP FRDM i.MX93 (freiheit93), and AMD ZynqMP Kria KD240 (krazymp). The architecture consists of a base distro layer (meta-kiss) with common recipes and machine-specific layers (meta-kiss-ti, meta-kiss-st, meta-kiss-nxp, meta-kiss-amd) that add board-specific configurations, bootloaders, kernel defconfigs, and firmware handling. The build process is orchestrated via kas configuration files or bitbake-setup, automatically fetching all required upstream layers (bitbake, openembedded-core, meta-arm, meta-openembedded, meta-xilinx). The repository serves as a teaching tool and starting point for companies wanting to create clean, maintainable Yocto setups without unnecessary complexity. It is not a standalone application but a build system configuration; its value lies in the patterns and practices it demonstrates rather than reusable code components.

RATING: 8.0/10 MAINT: active DRIFT: low
openembedded/meta-openembedded ★ 501 855 APPLICATION

meta-openembedded is the OpenEmbedded/Yocto Project's collection of supplementary layers (meta-oe, meta-python, meta-networking, meta-multimedia, meta-gnome, meta-xfce, meta-filesystems, meta-initramfs, etc.), providing BitBake recipes and patches to build hundreds of open-source packages for embedded Linux. It is not a runtime application; it is build-system metadata (.bb, .bbappend, .inc, .bbclass) plus configuration files, systemd units, init scripts, and cross-compilation patches. The entry points are layer.conf files that register each layer into a Yocto build, and image/packagegroup recipes that aggregate packages into test images. At runtime, the 'product' this repository produces is embedded Linux distributions and images: filesystem tools, kernel utilities, networking daemons, multimedia codecs, Python/Perl modules, XFCE/GNOME desktop environments, and initramfs components. Its primary data flow is source fetch via SRC_URI from upstream tarballs/git, patch application, cross-compilation through OE classes, and packing/installation onto target images. The repository contains very little application logic itself; most engineering effort is in recipe metadata, build-system classes, and patches that adapt upstream software to musl/glibc, newer compilers, and embedded constraints. Maintenance is active: recent commits, ongoing updates for GCC/CMake/Python evolution, and steady recipe additions. However, it carries substantial technical debt: many patches are marked Upstream-Status: Pending or Inappropriate, several upstream projects are inactive, and the sheer recipe count creates constant drift risk. Although a few data-like assets exist (DVB scan tables, static passwd/group files, fontconfig data), they are configuration payloads for recipes, not research artifacts; the dominant character is application/build infrastructure.

RATING: 7.7/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: