7 repository-uri
Low-level configuration of hardware components like interrupt controllers, serial ports, and disk interfaces during boot.
Distinct from Hardware-Specific Boot Configurators: Candidates focus on boot-configurator tools or network booting, not the kernel's internal device driver initialization.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · Hardware Device Initializations. Refine with filters or upvote what's useful.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Provides a startup sequence to configure low-level hardware components before the board becomes active.
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
Configures the interrupt controller, console, serial ports, and disk interfaces during the system boot sequence.
edk2 is a development project for creating system firmware that complies with the UEFI specification. It provides the necessary infrastructure to initialize hardware platforms and boot operating systems across multiple CPU architectures. The project utilizes a modular firmware architecture that decouples high-level management protocols from physical transport layers. It implements critical security features, including a measured boot chain, cryptographic primitives for image authentication, and support for Trusted Platform Module hardware and software implementations. Its capability surface
Performs low-level configuration of processors, memory, and peripherals during the early boot process.
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
Uses device tree blobs to automatically allocate memory and interrupt resources for hardware components.
This repository contains the pre-compiled firmware, bootloader binaries, device tree overlay files, and Linux kernel modules that power Raspberry Pi single-board computers. It provides the foundational system firmware that initializes the hardware and loads an operating system. The boot architecture relies on a proprietary VideoCore GPU that co-processes early initialization, memory partitioning, device tree overlay loading, and mailbox-based peripheral configuration before handing control to the main CPU. This multi-stage boot process uses a chain of small binary stages and loads a raw kerne
Configuring Raspberry Pi hardware peripherals at boot using device tree blobs and overlay files.
U-Boot este un bootloader embedded care inițializează componentele hardware și încarcă kernel-urile sistemelor de operare în memorie. Funcționează ca un strat de abstractizare hardware care oferă acces standardizat la rețea, stocare și magistrale periferice, servind totodată ca un boot loader securizat și o interfață de actualizare a firmware-ului. Proiectul se remarcă prin implementarea secvențelor de boot securizat care verifică semnăturile criptografice și interfațează cu modulele TPM pentru a stabili încrederea la nivel hardware. Oferă, de asemenea, capabilități specializate pentru actualizarea firmware-ului dispozitivului prin protocoale standardizate precum Fastboot și DFU, și acționează ca un manipulator de device tree pentru a configura parametrii hardware înainte ca sistemul de operare să pornească. Sistemul acoperă o gamă largă de operațiuni de nivel scăzut, inclusiv inițializarea CPU-ului și a controllerului de memorie, gestionarea cache-ului hardware și execuția aplicațiilor independente. Suportă provizionarea kernel-ului de la distanță prin preluarea imaginilor de boot și a device tree-urilor de la servere prin protocoale de rețea și gestionează comportamentul sistemului prin variabile de mediu și execuția de scripturi de comandă. Procesul de build include instrumente pentru împachetarea imaginilor de boot și configurarea țintelor hardware pentru a asigura compatibilitatea binară cu dispozitive embedded specifice.
Prepares embedded board components, CPUs, memory controllers, and clocks before starting the operating system.
m1n1 este un bootloader de nivel scăzut pentru hardware-ul Apple Silicon bazat pe ARM64. Acesta servește drept instrument de firmware și mediu de experimentare pentru încărcarea kernel-urilor externe și a sistemelor de operare non-native. Proiectul permite executarea de payload-uri binare concatenate care conțin kernel-uri, device tree-uri și ramdisk-uri. Oferă o platformă pentru experimentarea firmware-ului și implementarea de kernel-uri personalizate pe cipuri Apple Silicon. Sistemul acoperă abstractizarea hardware de nivel scăzut, inclusiv accesul la registre mapate în memorie, transmiterea device tree-ului și bootloading-ul pe etape. Include, de asemenea, depanare serială bazată pe UART pentru log-urile de sistem și depanare.
Provides the ability to transmit and configure flattened device tree blobs to define hardware peripherals for the kernel.