20 repositorios
Support for building and deploying to Linux platforms.
Explore 20 awesome GitHub repositories matching operating systems & systems programming · Linux SDKs. Refine with filters or upvote what's useful.
Swift is a high-performance, general-purpose programming language designed for safety and speed. It features a modular compiler front-end that transforms source code into optimized machine binaries, utilizing a value-oriented type system that prioritizes predictable state management through value and reference types. The language is built on a task-based concurrency model that schedules asynchronous operations across multicore hardware to ensure data race safety. The project distinguishes itself through a native, bi-directional interoperability mechanism that allows for direct integration wit
Provides the necessary toolchains and libraries to build and deploy applications on Linux platforms.
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
Provides cross-compilation support for generating Linux-compatible binary executables.
F Prime es un framework basado en componentes diseñado para el desarrollo y despliegue de software embebido y de vuelo espacial. Proporciona una arquitectura modular que desacopla la lógica del software de las interfaces de comunicación, permitiendo a los desarrolladores definir estructuras de sistema mediante un lenguaje de modelado específico del dominio. Este enfoque basado en modelos permite la generación automática de código, asegurando la consistencia en topologías de sistemas complejos mientras mantiene estrictos contratos de interfaz entre los módulos de software. El framework se distingue por su sistema de compilación integrado y su suite de operaciones de datos en tierra. Automatiza todo el ciclo de vida del software embebido, desde la compilación cruzada y la gestión de dependencias hasta la generación de interfaces de telemetría y comandos. Al proporcionar un entorno unificado tanto para el software de vuelo a bordo como para la monitorización en tierra, facilita la integración, las pruebas y el mando y control de sistemas embebidos distribuidos en diversas plataformas de hardware. Más allá de su arquitectura central, el proyecto incluye herramientas integrales para la observabilidad del sistema, incluyendo visualización de telemetría en tiempo real, registro de eventos y trazado de diagnóstico. Soporta una amplia gama de escenarios de despliegue, desde entornos bare-metal hasta sistemas operativos en tiempo real, y proporciona mecanismos para la gestión de memoria, modelado de comportamiento basado en estados y ejecución de tareas asíncronas. El proyecto se mantiene como un repositorio en C++ con documentación extensa y soporte de sistema de compilación para el desarrollo multiplataforma.
Configures the build system to compile and link software components specifically for standard Linux operating systems.
jetson-inference is a set of libraries and tools for executing optimized deep learning models on embedded GPU hardware. Its primary purpose is to enable real-time computer vision and AI inference at the edge with low latency and high throughput. The project distinguishes itself through high-performance streaming analytics and the ability to execute concurrent AI pipelines on auto-grade silicon. It provides specialized support for multi-sensor stream processing, utilizing zero-copy data transport to load camera frames directly into GPU memory. The codebase covers a broad surface of capabiliti
Creates production-ready, secure embedded Linux distributions using validated recipes and reference images.
OpenWrt-Rpi is a firmware builder and embedded Linux build toolset designed to compile custom router operating system images for Raspberry Pi and NanoPi hardware. It utilizes a GitHub Actions CI pipeline to automate the generation of fresh firmware images from the latest source code via daily updates. The project maintains a custom package repository and local software sources for managing community plugins and kernel modules. This infrastructure is used to ensure version consistency and prevent dependency conflicts during the installation of network drivers and system extensions. The build
Provides a toolset for creating specialized, production-ready Linux distributions for embedded ARM and x86 hardware.
Builds reproducible, optimized embedded Linux distributions using Yocto Project recipes validated for Jetson hardware.
This repository provides a Docker base image built on Alpine Linux, designed to produce containers under 5 MB. It is a minimal Linux container image that uses the apk package manager for installing software from the Alpine Linux repository. The image is constructed with a musl-based C library and a BusyBox-based userland, replacing GNU coreutils with a single compact binary. It structures the filesystem as a single root filesystem layer to minimize storage and transfer overhead, and is compatible with multi-stage Docker builds to keep final images lean. The project covers building smaller an
Uses musl libc instead of glibc to produce smaller statically linked binaries.
This is the official documentation repository for Raspberry Pi hardware and software. It covers the complete range of Raspberry Pi single-board computers, the RP-series microcontrollers, and the Raspberry Pi operating system. The documentation provides reference material for setting up devices, configuring hardware, and using the system for tasks including AI inference, camera and video capture, embedded development, and remote access. The documentation covers the full boot chain from the GPU firmware and EEPROM bootloader through to kernel loading, with detailed guidance on boot configuratio
Provides guides for building custom kernels, configuring bootloaders, and managing device tree overlays on Raspberry Pi.
This project is an OpenWrt firmware build system and embedded Linux build tool designed to create customized router firmware images for NanoPi hardware. It functions as a network OS customization kit, providing a structured environment for compiling tailored operating system images that integrate specific drivers, packages, and kernel optimizations. The system distinguishes itself through deep hardware and performance tuning, including kernel-space flow offloading for traffic acceleration and symmetric multiprocessing interrupt balancing to prevent single-core processing bottlenecks. It enabl
Provides a comprehensive system for building production-ready Linux distributions tailored for embedded ARM networking hardware.
Maturin is a build tool that compiles Rust crates into Python wheel packages, supporting multiple binding systems such as PyO3, CFFI, and UniFFI to create native extension modules. It manages the full build pipeline from Rust compilation to wheel assembly, including cross-compilation for different operating systems and architectures without requiring native hardware. The tool integrates development-mode installation with automatic rebuilds: when a Python import hook detects source changes, it triggers recompilation before the module loads. Editable installs link the compiled module into site-
Validates Linux wheels against portability rules and tags them for broad distribution compatibility.
Build Linux is a toolset for assembling a custom Linux distribution entirely from source code, automating the process described by Linux From Scratch. It compiles every system component from upstream source, giving the builder full control over included packages and configuration. The build process relies on a Makefile-driven orchestration that coordinates the entire sequence, using script-defined package recipes for each component. It employs chroot isolation to keep build artifacts separate from the host, and follows a stage-wise bootstrapping approach that first builds a minimal set of tem
Creates small, optimized Linux systems suitable for resource-constrained or embedded environments.
c3c is the compiler for the C3 programming language, transforming source code into executable binaries, static libraries, or dynamic libraries using an LLVM backend. It implements a system based on result-based error handling, scoped memory pooling, and a semantic macro system. The compiler provides first-class support for hardware-backed SIMD vectors that map directly to processor instructions and enables runtime polymorphism through interface-based dynamic dispatch. The project covers a broad set of low-level capabilities, including manual and pooled memory management, inline assembly inte
Supports compilation specifically for the musl libc implementation on Linux using dedicated compiler flags.
This repository is the Armbian build framework — an embedded Linux build system for generating custom operating system images tailored to single-board computers, primarily targeting ARM and RISC-V architectures. The build process is orchestrated by GNU Makefiles and relies on a chroot-based environment to assemble the root filesystem, manage cross-compilation toolchains, and aggregate binary firmware blobs for hardware compatibility. Kernel and bootloader source trees are fetched via git, with structured patches applied in a controlled sequence, while each supported board is described by a ded
Creates custom embedded Linux distributions with kernel, bootloader, and filesystem for ARM/ARM64 boards.
Este proyecto es un sistema de compilación cruzada y repositorio de software para el sistema operativo OpenWrt. Proporciona una colección curada de paquetes de software mantenidos por la comunidad, scripts de compilación y definiciones de aplicaciones utilizados para compilar librerías y utilidades de terceros para arquitecturas de hardware específicas. El sistema funciona como un feed de software para Linux embebido, utilizando un flujo de trabajo de compilación cruzada para convertir código fuente externo en binarios compatibles. Incluye una distribución de herramientas de red, como servidores DNS y VPNs, adaptadas para entornos basados en routers y dispositivos con recursos limitados. Las capacidades de compilación cubren una amplia gama de categorías de software, incluyendo utilidades del sistema, librerías externas de C y C++, servicios de correo y aplicaciones multimedia para procesamiento de audio, video e imagen. Estos componentes se integran en extensiones de firmware personalizadas mediante un sistema modular de definiciones de paquetes y parches.
Functions as an embedded Linux software feed providing a curated collection of application definitions and patches.
Unikraft is a modular library operating system and unikernel framework designed to compile applications into minimal, bootable virtual machine images. It serves as an OCI-compliant image builder and a cloud-native hypervisor target, enabling the creation of specialized runtimes that include only the specific drivers and libraries required by a single application. The system features a Linux compatibility layer that maps standard API calls and POSIX standards to unikernel libraries, allowing unmodified binaries to run without a full general-purpose kernel. It distinguishes itself by allowing c
Links object files against the musl C library using native build systems to simplify software porting.
This project is a collection of common Unix utilities compiled as statically linked binaries. It provides a portable Nix toolset and a bundle of POSIX utilities designed to run across different Linux distributions without requiring shared library dependencies. The collection focuses on cross-distribution compatibility and minimal environment setup. By utilizing a musl-based toolchain and static-link compilation, these utilities are distributed as standalone files that execute immediately without the need for a package manager or external system packages. The project covers a range of portabl
Uses a musl-based toolchain to ensure binaries remain compatible across diverse Linux distributions.
fnnas is a Debian-based network attached storage operating system and deployment framework designed to transform x86 and Arm64 hardware into private storage servers. It provides a custom operating system image builder and a kernel compilation tool for building and packaging specific kernels and device tree blobs for various hardware platforms. The project includes a hardware-specific deployer that maps device models to required bootloaders and kernel tags. It features an eMMC backup and recovery tool to save factory system images from internal storage and restore them to revert system changes
Creates specialized Linux distributions for embedded hardware targets with configurable filesystem sizes.
Musl-cross-make is a build system that automatically downloads, patches, and compiles source components to generate relocatable cross-compilation toolchains targeting the musl C library. It functions as an automated build environment for creating custom cross-compilers and standard library toolchains for alternative target architectures. The system orchestrates the sequential downloading, patching, configuring, and compiling of multi-component toolchains, applying distribution-specific bug fixes and architecture patches directly to extracted source trees. It downloads required upstream source
Builds custom compilers and standard library environments tailored for lightweight distributions using musl.
RPi-Monitor es una suite de monitoreo diseñada para entornos Linux embebidos y computadoras de placa única. Proporciona un framework para recopilar telemetría de hardware en tiempo real, rastrear métricas de rendimiento del sistema y visualizar datos a través de un panel basado en web. El sistema está construido para manejar la persistencia de datos a largo plazo utilizando bases de datos round-robin de tamaño fijo, asegurando que los registros históricos se mantengan sin exceder la capacidad de almacenamiento. El proyecto se distingue por su enfoque en la integración de hardware embebido y el despliegue flexible. Admite el monitoreo de sensores físicos externos y puede desplegarse dentro de entornos en contenedores o integrarse directamente en distribuciones Linux embebidas personalizadas mediante recetas de compilación. Para adaptarse a sistemas de archivos restringidos o volátiles, el software incluye un modo de operación de solo lectura, mientras que su arquitectura de plugins modular permite la adición de scripts personalizados y pantallas de hardware externas. Más allá del monitoreo local, el sistema funciona como un agente para una infraestructura de red más amplia al exponer datos de telemetría a través de protocolos estandarizados y endpoints JSON. Incluye un motor de alertas basado en umbrales para activar notificaciones cuando el rendimiento se desvía de los parámetros definidos, y aplica seguridad mediante autenticación e integración de proxy inverso para gestionar el acceso remoto al panel.
Integrates monitoring tools directly into custom operating system builds using build recipes and layers.
Plex Media Player is a client application designed for streaming and playing audio and video content from remote media servers. It functions as a home theater interface, providing a graphical environment optimized for large-screen displays and remote control navigation. The software is built to operate across various desktop operating systems and can be deployed as part of custom embedded Linux media systems. The application utilizes a high-performance media playback engine based on a command-line media player core, which offloads video decoding to hardware to support high-resolution content.
Generates optimized, minimal Linux operating system images for dedicated media playback hardware.