Ecosyste.ms: Awesome
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: 5 days ago
JSON representation
-
Presentations
-
Device driver development
- video playlist
- slides - pLrL6qThA7SAbhVfuMbjZsJX1CY)
- video playlist
- video playlist
- video playlist
- video playlist
- video playlist
- video playlist
- slides
- slides - 4F9fEYmf15s)
- slides - pLrL6oxnDyb7IvnNOOBur7z_8tE)
- video playlist
- slides
- slides
- slides
- slides
- slides
- slides
- slides
- slides
- slides
- slides
- slides
- slides
- slides
-
-
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
- Aboriginal Linux - DISCONTINUED.
- Android
- Android (Go edition)
- Ångström
- Arch Linux ARM
- ELinOS
- Embdebian - Embedded Debian, DISCONTINUED.
- Embedded Gentoo
- GoboLinux - Linux distribution redefining the entire filesystem hierarchy (no need for package database) which [runs on ARM](https://github.com/gobolinux/Documentation/wiki/GoboLinux-Embedded).
- LinRT - Embedded Linux distribution that uses the FSL Community Yocto Project layers with LinRT proprietary layers for Phytec’s SOMs and Single Board Computers.
- Moxa Industrial Linux
- OpenSTLinux - Yocto Project based Linux Distribution for STM32 multi-core microprocessors (MPU).
- Sailfish OS
- SnapGear Embedded Linux
- STLinux - Linux for STMicroelectronics ARM or ST40 embedded processors.
- Wind River Linux
-
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
-
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
-
Container Runtime Distributions
-
-
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
-
System design
- Building Embedded Linux Systems - [Book website](https://www.oreilly.com/library/view/building-embedded-linux/9780596529680/).
- Embedded Linux Primer - [Book website](http://www.embeddedlinuxprimer.com/).
- Embedded Linux System Design and Development - [Book website](https://www.crcpress.com/Embedded-Linux-System-Design-and-Development/Raghavan-Lad-Neelakandan/p/book/9780849340581).
- Linux for Embedded and Real-time Applications
- Pro Linux Embedded Systems
-
System programming
- Advanced Programming in the UNIX Environment
- The Linux Programming Interface - [Book website](https://nostarch.com/tlpi), [free only version](http://man7.org/tlpi/).
- Linux System Programming
- Linux Debugging and Performance Tuning: Tips and Tricks
-
Kernel development
-
Device driver development
- Essential Linux Device Drivers - [book website](https://www.elinuxdd.com/).
- Linux Device Drivers - [book website](http://shop.oreilly.com/product/9780596005900.do), [free only version](https://lwn.net/Kernel/LDD3/).
- Linux Device Drivers Development: Develop customized drivers for embedded Linux
-
-
Trainings
-
System
- Embedded Android (2net)
- Embedded Android + Automotive (2net)
- Embedded Linux Trainging (bootlin) - Free slides and lab material, paid sessions.
- Linux Basics (Linutronix) - From Bootloader to System.
- Mastering embedded Linux (2net)
-
Build systems
- Debian Distribution (Linutronix) - An introduction to ELBE.
- Embedded Linux development with Buildroot training (bootlin) - Free slides and lab material, paid sessions.
- Mastering Yocto Project (2net)
- Yocto (Linutronix) - An introduction to Yocto.
- Yocto Project and OpenEmbedded development training (bootlin) - Free slides and lab material, paid sessions.
-
System programming
-
Kernel and device driver development
- Embedded Linux device drivers (2net)
- Linux kernel and driver development training (bootlin) - Free slides and lab material, paid sessions.
-
Security
- Security (Linutronix) - Embedded security.
-
Misc
- Displaying and rendering graphics with Linux (bootlin) - Free slides and lab material, paid sessions.
- Fastboot (Linutronix) - Boot Linux within One Second.
- Linux Advanced (Linutronix) - Scheduling mechanisms, real-time, multicore, CPU isolation, IPC development, best practices of application development.
- Realtime (Linutronix) - Linux and Realtime (Preempt-RT).
- Tracing & Debug (Linutronix) - Detailed insight into the Linux Tracing Infrastructure and its powerful features.
-
-
Related awesome lists
-
IoT platform integrations
-
Container Runtime Distributions
-
Categories
Distributions
26
Presentations
25
Trainings
19
Books
13
Build systems
10
Hypervisors
9
Cloud Provider Integration
8
Web servers
8
Kernel modules
6
Bootloaders
5
Process control systems
4
Host-based Intrusion Detection Systems
4
SSH servers
4
Init systems
4
Display Servers
4
OTA software updates
4
Zero configuration networking
3
Container runtimes
2
Container orchestration systems
2
Kernel patches
1
Kubernetes
1
Databases
1
IoT platform integrations
1
Platforms
1
Kubernetes Edge Computing Platforms
1
License
1
Related awesome lists
1
Cloud Infrastructure
1