21 open-source projects similar to raspberrypi/firmware, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Firmware alternative.
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
U-Boot is an embedded bootloader that initializes hardware components and loads operating system kernels into memory. It functions as a hardware abstraction layer providing standardized access to networking, storage, and peripheral buses, while also serving as a secure boot loader and a firmware update interface. The project distinguishes itself through the implementation of secure boot sequences that verify cryptographic signatures and interface with TPM modules to establish hardware-rooted trust. It further provides specialized capabilities for updating device firmware via standardized prot
OpenCorePkg is a modular UEFI bootloader designed to initialize hardware and facilitate the loading of modern operating systems on non-standard or unsupported hardware. It functions as a comprehensive firmware emulation environment, providing the necessary runtime services and memory management to bridge the gap between diverse hardware configurations and operating system requirements. The project distinguishes itself through its ability to perform runtime kernel patching and system firmware modification, allowing for the injection of drivers and the manipulation of hardware tables during the
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
Ventoy is a cross-platform boot manager that enables users to launch multiple operating system installers and live environments from a single portable storage device. By intercepting the BIOS or UEFI startup sequence, it provides a unified menu that allows for the direct execution of disk image files without requiring file extraction or manual reformatting of the drive. The tool distinguishes itself through a modular, plugin-driven architecture that maps raw image files directly into system memory as block devices. Users can navigate local directories to select bootable files and utilize a we
OpenCore Legacy Patcher is a utility designed to enable the installation and operation of modern operating systems on legacy hardware that is no longer officially supported. By interposing a custom bootloader between the system firmware and the kernel, the project facilitates the deployment of current software releases on older devices, bypassing restrictive compatibility checks and hardware identification requirements. The project distinguishes itself through a comprehensive framework for system interposition and persistent patching. It employs dynamic kernel extension injection and runtime
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Zephyr is a real-time operating system and cross-platform embedded framework designed for resource-constrained hardware architectures. It provides an embedded kernel that manages memory, power consumption, and hardware peripherals across multiple microcontroller architectures. The project utilizes a hardware abstraction layer to decouple high-level kernel services from physical hardware through standardized driver interfaces. It employs a device tree hardware description format and a hierarchical configuration system to optimize binaries and feature sets for specific hardware constraints. Th
The Linux kernel source tree is core system software tailored specifically for Rockchip processor architectures and embedded hardware boards. It manages hardware resources, processor execution contexts, memory allocation, and process scheduling for custom computing platforms. The project provides low-level hardware abstraction, initialization routines, and a collection of kernel modules designed to control integrated silicon components, storage, and networking hardware. The codebase incorporates hierarchical data structures to describe physical board layouts, memory maps, and peripheral conne
m1n1 is a low-level bootloader for ARM64-based Apple Silicon hardware. It serves as a firmware tool and experimentation environment for loading external kernels and non-native operating systems. The project enables the execution of concatenated binary payloads containing kernels, device trees, and ramdisks. It provides a platform for firmware experimentation and the deployment of custom kernels on Apple Silicon chips. The system covers low-level hardware abstraction, including memory-mapped register access, device tree transmission, and stage-based bootloading. It also includes UART-based se
NX_Firmware is a binary repository manager and firmware distribution server designed to store and serve versioned system update files to hardware devices. It functions as a stateless file host that organizes compiled firmware binaries in a structured directory for automated retrieval via a REST API. The system maps specific firmware builds to compatible hardware revisions using schema-based metadata. It utilizes a flat-file asset hosting model, serving binary blobs directly from the filesystem to avoid the overhead of a database management system. The server handles hardware version control
Arpl is a bootloader manager and custom kernel loader for network attached storage devices. It provides a network boot environment to automate the fetching, flashing, and installation of modified operating systems and kernels onto hardware storage. The project distinguishes itself through a remote management suite that exposes bootloader controls via a web browser, secure shell connection, or local terminal. It utilizes RSS feeds to automate the retrieval of the latest system images and version metadata for online updates. The system handles hardware boot configuration by mapping network int
This project is a monolithic operating system kernel designed to serve as the foundational software layer for diverse computing architectures and embedded platforms. It manages core system services, including processor scheduling, memory allocation, and hardware resource distribution, to facilitate communication between user applications and physical hardware. The kernel utilizes a hardware abstraction layer and platform-specific device trees to ensure consistent operation across a wide variety of processors and specialized computing devices. It supports dynamic functionality through loadable
Raspberry Pi Imager is a graphical utility designed to download and write operating system images directly to SD cards and USB drives. It serves as a deployment tool for preparing bootable storage media for single-board computers, facilitating the automated installation and initial configuration of embedded systems. The application distinguishes itself by enabling on-the-fly image customization, which allows users to inject network settings and user credentials directly into the image during the writing process. It supports custom image sources and remote repository manifests, providing flexi
This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate low-level x86 system programming and hardware interfacing. It serves as a kernel development toolkit and a system programming lab designed for testing architecture concepts and hardware behavior within a system emulator. The repository provides reference implementations for creating bootable disk images and loading kernel stages. It includes guides for implementing protected mode transitions, memory paging, interrupt descriptor tables, and symmetric multiprocessing on x86 hardware.
This project is a shell-scripted utility designed for cloning and synchronizing Linux system disks. It enables the creation of bootable copies of active storage devices, allowing users to maintain functional backups or prepare new storage media for embedded computing environments. The tool performs partition-aware cloning by analyzing the source drive structure to recreate identical layouts on destination disks. It distinguishes itself by modifying boot configuration files and partition identifiers on the target drive, which ensures that cloned media remain bootable when moved to new hardware
This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and management of smart home hardware. It functions as an event-driven automation controller that replaces proprietary factory firmware, allowing users to manage relays, sensors, and lighting systems without relying on external cloud services. The system is built on a modular driver architecture that enables dynamic hardware configuration and peripheral support through a web-based management interface. The platform distinguishes itself through a template-driven hardware mapping s
OpenWifi is an open-source implementation of the IEEE 802.11n wireless standard designed for programmable logic. It provides a software-defined radio platform and WiFi baseband processor that implements the physical and MAC layers on FPGA hardware, accompanied by a dedicated wireless driver and toolset for hardware control. The project is distinguished by its deep integration of signal analysis and telemetry, specifically through a framework for capturing channel state information and raw IQ samples. It enables high-precision packet timestamping and cross-layer correlation between physical la