awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

7 dépôts

Awesome GitHub RepositoriesHardware Device Initializations

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.

Awesome Hardware Device Initializations GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • qmk/qmk_firmwareAvatar de qmk

    qmk/qmk_firmware

    20,478Voir sur GitHub↗

    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.

    Catmel-avrcc-plus-plus
    Voir sur GitHub↗20,478
  • mit-pdos/xv6-publicAvatar de mit-pdos

    mit-pdos/xv6-public

    9,466Voir sur GitHub↗

    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.

    C
    Voir sur GitHub↗9,466
  • tianocore/edk2Avatar de tianocore

    tianocore/edk2

    6,061Voir sur GitHub↗

    edk2 est un projet de développement pour créer un firmware système conforme à la spécification UEFI. Il fournit l'infrastructure nécessaire pour initialiser les plateformes matérielles et démarrer les systèmes d'exploitation sur plusieurs architectures CPU. Le projet utilise une architecture de firmware modulaire qui découple les protocoles de gestion de haut niveau des couches de transport physiques. Il implémente des fonctionnalités de sécurité critiques, notamment une chaîne de démarrage mesurée (measured boot), des primitives cryptographiques pour l'authentification d'images et la prise en charge des implémentations matérielles et logicielles du Trusted Platform Module (TPM). Sa surface de capacité s'étend aux standards de gestion de plateforme tels que Redfish, IPMI et MCTP, ainsi qu'à la génération de tables ACPI dynamiques. Le projet inclut également une suite complète d'outils pour la compilation multi-architecture, la simulation de firmware et l'émulation de plateforme virtuelle pour des hyperviseurs comme KVM, Xen et QEMU. Le projet inclut un système de build multi-cible et une orchestration de tests automatisés pour valider la fonctionnalité du firmware dans des environnements émulés et physiques.

    Performs low-level configuration of processors, memory, and peripherals during the early boot process.

    Ccfirmwarepython
    Voir sur GitHub↗6,061
  • sel4/sel4Avatar de seL4

    seL4/seL4

    5,583Voir sur GitHub↗

    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.

    Cmicrokernelossel4
    Voir sur GitHub↗5,583
  • raspberrypi/firmwareAvatar de raspberrypi

    raspberrypi/firmware

    5,485Voir sur GitHub↗

    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.

    Voir sur GitHub↗5,485
  • u-boot/u-bootAvatar de u-boot

    u-boot/u-boot

    5,093Voir sur GitHub↗

    U-Boot est un bootloader embarqué qui initialise les composants matériels et charge les noyaux de systèmes d'exploitation en mémoire. Il fonctionne comme une couche d'abstraction matérielle fournissant un accès standardisé au réseau, au stockage et aux bus périphériques, tout en servant de chargeur de démarrage sécurisé et d'interface de mise à jour de firmware. Le projet se distingue par l'implémentation de séquences de démarrage sécurisées qui vérifient les signatures cryptographiques et s'interfacent avec des modules TPM pour établir une confiance ancrée dans le matériel. Il fournit en outre des capacités spécialisées pour mettre à jour le firmware des appareils via des protocoles standardisés tels que Fastboot et DFU, et agit comme un manipulateur d'arborescence de périphériques (device tree) pour configurer les paramètres matériels avant le démarrage du système d'exploitation. Le système couvre un large éventail d'opérations de bas niveau, incluant l'initialisation du CPU et du contrôleur mémoire, la gestion du cache matériel et l'exécution d'applications autonomes. Il prend en charge le provisionnement distant du noyau en récupérant des images de démarrage et des arborescences de périphériques depuis des serveurs via des protocoles réseau, et gère le comportement du système via des variables d'environnement et l'exécution de scripts de commande. Le processus de build inclut des outils pour l'empaquetage d'images de démarrage et la configuration de cibles matérielles afin d'assurer la compatibilité binaire avec des appareils embarqués spécifiques.

    Prepares embedded board components, CPUs, memory controllers, and clocks before starting the operating system.

    C
    Voir sur GitHub↗5,093
  • asahilinux/m1n1Avatar de AsahiLinux

    AsahiLinux/m1n1

    4,114Voir sur GitHub↗

    m1n1 est un bootloader bas niveau pour le matériel Apple Silicon basé sur ARM64. Il sert d'outil de firmware et d'environnement d'expérimentation pour charger des noyaux externes et des systèmes d'exploitation non natifs. Le projet permet l'exécution de charges utiles binaires concaténées contenant des noyaux, des device trees et des ramdisks. Il fournit une plateforme pour l'expérimentation de firmware et le déploiement de noyaux personnalisés sur les puces Apple Silicon. Le système couvre l'abstraction matérielle bas niveau, incluant l'accès aux registres mappés en mémoire, la transmission de device trees et le bootloading par étapes. Il inclut également un débogage série via UART pour les journaux système et le dépannage.

    Provides the ability to transmit and configure flattened device tree blobs to define hardware peripherals for the kernel.

    Python
    Voir sur GitHub↗4,114
  1. Home
  2. Operating Systems & Systems Programming
  3. Hardware Device Initializations

Explorer les sous-tags

  • Device Tree Blob Initializers1 sous-tagHardware initialization routines that use device tree blobs and overlay files to configure Raspberry Pi peripherals at boot time. **Distinct from Hardware Device Initializations:** Distinct from Hardware Device Initializations: focuses on device tree blob-based initialization for Raspberry Pi, not general low-level hardware component configuration.
  • Device Tree ManipulationModifying flattened device tree blobs to configure hardware parameters before the operating system starts. **Distinct from Device Tree Blob Initializers:** Focuses on the modification/manipulation of the blob, whereas initializers focus on using the blob to set up hardware.
  • Device Tree ManipulatorsTools specifically designed to modify flattened device tree blobs for hardware configuration. **Distinct from Device Tree Blob Initializers:** An identity as a tool for manipulation, distinct from the routine that uses the blob for initialization.