An open API service indexing awesome lists of open source software.

awesome-embedded-linux

A curated list of awesome Embedded Linux resources.
https://github.com/fkromer/awesome-embedded-linux

Last synced: 11 days ago
JSON representation

  • Books

  • Bootloaders

    • barebox - A bootloader (initially named U-Boot v2) designed for embedded systems.
    • coreboot - Extended firmware platform that delivers a lightning fast and secure boot experience on modern computers and embedded systems.
    • libreboot - coreboot distribution with proprietary software removed.
    • RedBoot - Complete bootstrap environment for embedded systems.
    • U-Boot - The Universal Bootloader.
    • RedBoot - Complete bootstrap environment for embedded systems.
    • U-Boot - The Universal Bootloader.
    • U-Boot - The Universal Bootloader.
  • Build systems

  • Cloud Infrastructure

    • StarlingX - StarlingX is a complete cloud infrastructure software stack for the edge used by the most demanding applications in industrial IOT, telecom, video delivery and other ultra-low latency use cases.
  • Cloud Provider Integration

    • AWS Edge
    • IoT Core - Easily and securely connect devices to the cloud. Reliably scale to billions of devices and trillions of messages.
    • IoT Device Management - Register, organize, monitor, and remotely manage connected devices at scale.
    • IoT Events - Easily detect and respond to events from IoT sensors and applications.
    • IoT Greengrass - Bring local compute, messaging, data management, sync, and ML inference capabilities to edge devices.
    • IoT Sitewise - Easily collect, organize and analyze data from industrial equipment at scale.
    • Wavelength - Deliver ultra-low latency applications for 5G devices.
    • Azure IoT Edge - IoT Edge moves cloud analytics and custom business logic to devices so that your organization can focus on business insights instead of data management. Enable your solution to truly scale by configuring your IoT software, deploying it to devices via standard containers, and monitoring it all from the cloud.
    • IoT Device Management - Register, organize, monitor, and remotely manage connected devices at scale.
    • Sagemaker Neo - Train models once, run anywhere with up to 2x performance improvement.
    • IoT Sitewise - Easily collect, organize and analyze data from industrial equipment at scale.
  • Container orchestration systems

    • Kubernetes - System for automating deployment, scaling, and management of containerized applications.
    • Nomad - Easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized applications.
    • Rancher - From datacenter to cloud to the edge, Rancher lets you deliver Kubernetes-as-a-Service (Kubernetes Distribution).
  • Container runtimes

    • containerd - An industry-standard container runtime with an emphasis on simplicity, robustness and portability.
    • cri-o - Lightweight Container Runtime for Kubernetes.
    • frakti - The hypervisor-based container runtime for Kubernetes.
    • runC - CLI tool for spawning and running containers according to the OCI specification.
  • Databases

    • Raima Database Manager - Embedded, cross-platform, small-footprint, in-memory database developed for the IoT and the edge market (embedded, SQL).
    • SQLite - Defacto standard embedded SQL database for mobile phones (embedded, SQL).
    • MongoDB Mobile - NoSQL MongoDB as embedded database for embedded devices (embedded, document-oriented).
    • Raima Database Manager - Embedded, cross-platform, small-footprint, in-memory database developed for the IoT and the edge market (embedded, SQL).
  • Display Servers

    • Enlightenment - (wayland, BSD).
    • Mir - The fast, open and secure display server for any device (wayland, GPL).
    • SWAY - Tiling Wayland compositor (wayland, MIT).
    • Mazecompositor - A 3D qtwayland compositor (wayland, MIT).
    • Weston - Wayland project reference compositor (wayland, MIT).
    • Mir - The fast, open and secure display server for any device (wayland, GPL).
  • Distributions

    • Container Orchestration Distributions

      • k3os - Linux distribution designed to remove as much OS maintenance as possible in a Kubernetes cluster. It is specifically designed to only have what is needed to run k3s.
      • Talos - Talos is a modern OS designed to be secure, immutable, and minimal. Its purpose is to host Kubernetes clusters, so it is tightly integrated with Kubernetes.
      • Pharos - Deploy and run Kubernetes workloads at any scale on any infrastructure.
      • metalk8s - An opinionated Kubernetes distribution with a focus on long-term on-prem deployments.
      • Photon OS - Open source, minimal Linux container host that is optimized for cloud-native applications, cloud platforms and VMware infrastructure but runs on ARM as well. Supports Docker (container runtime) as well as Mesons and Kubernetes (container orchestration).
    • Container Runtime Distributions

      • CoreOS Container Linux - A container-focused OS that's designed for painless management in large clusters.
      • Fedora CoreOS - Combines the best of CoreOS Container Linux and Fedora Atomic Host: Automatically updating, minimal, monolithic, container-focused operating system, designed for clusters but also operable standalone, optimized for Kubernetes but also great without it.
      • Linux microPlatform - A minimal Linux distribution built using OpenEmbedded/Yocto providing OTA software updates and a container-based application runtime.
      • Oryx Linux - Long-term maintenance oriented distribution providing a lightweight container runtime engine OryxCMD and Mender integration.
      • OSv - OSv is the versatile modular unikernel designed to run unmodified Linux applications securely on micro-VMs in the cloud or on on-premise bare metal servers.
      • Torizon - Linux-based software platform providing a preconfigured Yocto-based Linux distribution, bootloader, OTA service and Docker container runtime.
      • CoreOS Container Linux - A container-focused OS that's designed for painless management in large clusters.
      • CoreOS Container Linux - A container-focused OS that's designed for painless management in large clusters.
      • Fedora CoreOS - Combines the best of CoreOS Container Linux and Fedora Atomic Host: Automatically updating, minimal, monolithic, container-focused operating system, designed for clusters but also operable standalone, optimized for Kubernetes but also great without it.
    • Traditional Distributions

  • Host-based Intrusion Detection Systems

    • Container Runtime Distributions

      • AIDE - Advanced Intrusion Detection Environment, a file and directory integrity checker.
      • afick - Another File Integrity Checker, monitors changes on the file system and detects intrusions.
      • OSSEC - The World’s Most Widely Used Host-based Intrusion Detection System.
      • SAMHAIN - Provides file integrity checking and log file monitoring/analysis, as well as rootkit detection, port monitoring, detection of rogue SUID executables, and hidden processes.
      • Open Source Tripwire - Security and data integrity tool for monitoring and alerting on file & directory changes.
      • chrootkit - Checks for rootkits.
      • rkhunter - A rootkit hunter.
      • afick - Another File Integrity Checker, monitors changes on the file system and detects intrusions.
  • Hypervisors

    • Container Runtime Distributions

      • ACRN - A flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform (type 1, bare metal).
      • Cross-OS Hypervisor - Hypervisor used in the military domain (type 1, bare metal).
      • L4Re Runtime Environment - Operating system framework built on top of the Fiasco microkernel and providing user-level infrastructure that includes services (program loading, memory management, virtual machine management, etc.).
      • LxWin - (type 1, bare metal).
      • LynxSecure - Least privilege real-time separation kernel hypervisor (type 1, bare metal).
      • QNX Hypervisor - (type 1, bare metal).
      • RTS Hypervisor - (type 1, bare metal).
      • Xen Project Hypervisor - (type 1, bare metal).
      • Crudible Embedded Hypervisor - Hypervisor for defense systems (type 1, bare metal).
      • Jailhouse - Linux-based partitioning hypervisor.
      • RTS Hypervisor - (type 1, bare metal).
      • Crudible Embedded Hypervisor - Hypervisor for defense systems (type 1, bare metal).
      • Cross-OS Hypervisor - Hypervisor used in the military domain (type 1, bare metal).
      • Crudible Embedded Hypervisor - Hypervisor for defense systems (type 1, bare metal).
      • LxWin - (type 1, bare metal).
      • LynxSecure - Least privilege real-time separation kernel hypervisor (type 1, bare metal).
      • PikeOS - Currently (Jan 2019) the only hypervisor worldwide that holds a Common Criteria certification EAL 3+ for its separation performance (type 1, bare metal).
      • RTS Hypervisor - (type 1, bare metal).
  • Init systems

    • Container Runtime Distributions

      • finit - Fast init for Linux systems.
      • minit - A small yet feature-complete init.
      • runit - A UNIX init scheme with service supervision.
      • upstart - Event-based init system.
      • dumb-init - A minimal init system for Linux containers.
      • finit - Fast init for Linux systems.
      • minit - A small yet feature-complete init.
      • OpenRC - Dependency-based init system that works with the system-provided init program.
      • systemd - The systemd System and Service Manager.
      • runit - A UNIX init scheme with service supervision.
  • IoT platform integrations

  • Kernel modules

    • Container Runtime Distributions

      • AppArmor - Linux Security Module that provides MAC style security extension for the Linux kernel.
      • LoadPin - Linux Security Module that ensures all kernel-loaded files (modules, firmware, etc) all originate from the same filesystem, with the expectation that such a filesystem is backed by a read-only device.
      • SELinux - Linux Security Module.
      • SMACK - Linux Security Module providing mandatory access control that includes simplicity in its primary design goals.
      • TOMOYO - Linux Security Module adding name-based MAC to the Linux kernel.
      • Yama - Linux Security Module that collects system-wide DAC security protections that are not handled by the core kernel itself.
  • Kernel patches

    • Container Runtime Distributions

      • PREEMPT_RT patch - "Controlling a laser with Linux is crazy, but everyone in this room is crazy in his own way. So if you want to use Linux to control an industrial welding laser, I have no problem with you using PREEMPT_RT." -- Linus Torvalds.
  • Kubernetes

    • Container Runtime Distributions

      • K3s - The certified Kubernetes distribution built for IoT & Edge computing.
      • microk8s - MicroK8s is a small, fast, single-package Kubernetes for developers, IoT and edge (Ubuntu core/server).
      • minikube - minikube implements a local Kubernetes cluster (Linux).
  • Kubernetes Edge Computing Platforms

    • Container Runtime Distributions

      • Baetyl - Baetyl, extend cloud computing, data and service seamlessly to edge devices.
  • OTA software updates

    • Container Runtime Distributions

      • Mender - Open source client-server update manager.
      • RAUC - Lightweight update client that runs on your Embedded Linux device and reliably controls the procedure of updating your device with a new firmware revision.
      • libostree - Both a shared library and suite of command line tools that combines a "git-like" model for committing and downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration.
      • Memfault OTA Firmware Updates - OTA Update management for devices running any MCU RTOS, Android or Linux.
      • HERE OTA Connect - Over-the-air software updates for the automotive industry.
      • libostree - Both a shared library and suite of command line tools that combines a "git-like" model for committing and downloading bootable filesystem trees, along with a layer for deploying them and managing the bootloader configuration.
  • Platforms

  • Presentations