Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

awesome-embedded-linux

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

Last synced: 5 days ago
JSON representation

  • Presentations

  • 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.
  • Build systems

    • buildroot
    • ELBE - Debian based E.mbedded L.inux B.uild E.nvironment.
    • LTIB - Unmaintained?.
    • NARD - Specific to Raspberry Pi (compute modules).
    • OpenADK
    • OpenEmbedded - Build system used in the [Yocto Project](https://www.yoctoproject.org/).
    • OpenWrt
    • PTXdist
    • Debos - Debian OS builder.
    • Isar - Integration System for Automated Root filesystem generation (Debian).
  • Container runtimes

    • containerd - An industry-standard container runtime with an emphasis on simplicity, robustness and portability.
    • cri-o - Lightweight Container Runtime for Kubernetes.
  • 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.
  • 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.
    • 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.
    • Wavelength - Deliver ultra-low latency applications for 5G devices.
  • Databases

    • 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).
    • Weston - Wayland project reference compositor (wayland, MIT).
  • Distributions

    • Traditional 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.
    • 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.
      • RancherOS - A lightweight, secure Linux distribution, built from containers to run containers well.
      • Torizon - Linux-based software platform providing a preconfigured Yocto-based Linux distribution, bootloader, OTA service and Docker container runtime.
  • 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.
      • 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.
      • OSSEC - The World’s Most Widely Used Host-based Intrusion Detection System.
  • 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).
  • 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.
  • 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.
  • 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.
  • Kubernetes

    • Container Runtime Distributions

      • K3s - The certified Kubernetes distribution built for IoT & Edge computing.
  • 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

      • 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.
      • 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.
  • Platforms

  • Process control systems

    • Container Runtime Distributions

      • daemontools - Collection of tools for managing services.
      • M/Monit - Can monitor and manage distributed computer systems (including their processes), conduct automatic maintenance and repair and execute meaningful causal actions in error situations.
      • s6 - Suite of programs to allow process supervision (a.k.a service supervision).
      • Supervisor - A client/server system that allows its users to monitor and control a number of processes.
  • SSH servers

    • Container Runtime Distributions

      • dropbear - A relatively small SSH server and client particularly useful for "embedded"-type Linux.
      • sshd - Popular OpenSSH server.
      • TinySSH - Minimalistic SSH server which implements only a subset of SSHv2 features.
      • wolfSSH - Lightweight SSHv2 server library written in ANSI C and targeted for embedded, RTOS, and resource-constrained environments.
  • Web servers

    • Container Runtime Distributions

      • Barracuda - Optimized for deeply embedded devices in remote-monitoring and control-management applications.
      • Cherokee - .
      • Hiawatha - An advanced and secure webserver for Unix.
      • lighttpd - Designed and optimized for high performance environments and for every server that is suffering load problems.
      • Monkey - Monkey is a lightweight and scalable Web Server with a strong focus on Embedded devices.
      • nginx - Web server and reverse proxy server with a strong focus on high concurrency, performance and low memory usage.
      • nostromo - nhttpd is a simple, fast and secure HTTP server.
      • Monkey - Monkey is a lightweight and scalable Web Server with a strong focus on Embedded devices.
  • Zero configuration networking

    • Container Runtime Distributions

      • Avahi - Service Discovery for Linux using mDNS/DNS-SD.
      • JmDNS - Java implementation of multi-cast DNS and can be used for service registration and discovery in local area networks.
      • JmDNS - Java implementation of multi-cast DNS and can be used for service registration and discovery in local area networks.
  • Books

  • Trainings

  • IoT platform integrations