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
·
u-boot avatar

u-boot/u-boot

0
View on GitHub↗
5,093 stars·4,488 forks·C·4 vues

U Boot

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.

Features

  • Embedded Device Bootstrapping - Initializes hardware components and loads the operating system kernel into memory to bootstrap embedded devices.
  • System Boot Initializers - Loads and executes kernel images or RAM disks from memory to start an embedded operating system.
  • Built-In Language Interpreters - Runs sequences of user-defined scripts through a built-in interpreter to automate hardware initialization and boot tasks.
  • Hardware Peripheral Drivers - Coordinates data transfer across hardware buses such as I2C, SPI, PCI, and USB to interact with devices.
  • Hardware Target Configurations - Sets architecture and board-specific parameters to ensure binary compatibility with the target embedded device.
  • Board Initializers - Configures CPUs, memory controllers, and peripheral buses to prepare the physical board for software execution.
  • Hardware Device Initializations - Prepares embedded board components, CPUs, memory controllers, and clocks before starting the operating system.
  • Device Tree Blob Initializers - Uses flattened device tree blobs to describe hardware components and their memory addresses during the boot process.
  • Hardware Abstraction Layers - Provides a low-level interface providing standardized access to networking, storage, and peripheral buses.
  • Boot Argument Persistence - Sends configuration arguments and device trees to the kernel during startup to define system behavior.
  • Multi-Stage Bootloaders - Serves as a primary software stage that initializes hardware and loads an operating system kernel into memory.
  • Secure Boot Loaders - Verifies cryptographic signatures and interfaces with TPM modules to ensure hardware-rooted trust during boot.
  • Cryptographic Verification - Verifies binary payloads against embedded keys to ensure image authenticity and integrity before executing the kernel.
  • Secure Boot Implementations - Verifies boot image authenticity using cryptographic signatures and hardware-rooted trust to prevent unauthorized code execution.
  • Hardware Root of Trust - Interfaces with Trusted Execution Environments and TPM modules to establish a secure hardware-rooted chain of trust.
  • Filesystem Read Operations - Retrieves boot images and configuration files from various disk and flash storage filesystem formats.
  • Layered Architectures - Implements a layered architecture that abstracts physical hardware from high-level bootloader services for networking and storage.
  • Boot Sequence Automation - Runs sequences of predefined commands through an interpreter to automate repetitive boot tasks.
  • Hardware-Targeted Remote Execution - Executes automated test suites on remote physical hardware by provisioning environments via a lab coordinator.
  • Remote Kernel Provisioning - Fetches boot images and device trees from remote servers via network protocols to deploy operating systems.
  • Hardware Firmware Updaters - Implements standardized protocols like Fastboot and DFU to update device firmware from external sources.
  • Application and Firmware Updaters - Provides capabilities to update device firmware using standardized protocols like Fastboot and DFU.
  • Hardware Service Interfaces - Provides a standardized system call interface for external applications to access networking, storage, and console functions.
  • Non-Volatile Storage - Implements low-level read and write access to non-volatile storage media including MMC, NVMe, SATA, and flash.
  • Device Tree Manipulation - Modifies flattened device tree blobs to configure hardware parameters before the operating system starts.
  • Device Tree Manipulators - Acts as a tool for modifying flattened device tree blobs to configure hardware parameters before the OS starts.
  • Boot Protocol Implementations - Implements standardized boot protocols like Fastboot and DFU to facilitate firmware updates from external hosts.
  • Peripheral Bus Access - Provides standardized access to read and write data across peripheral buses such as USB, SCSI, and IDE.
  • Boot Image Packaging - Wraps binary payloads into platform-specific formats with headers and checksums to ensure correct hardware loading.
  • Hardware Emulators - Runs test suites across various board configurations using emulators to verify bootloader behavior.
  • Environment Variable Management - Provides a system for managing runtime environment variables used as the primary source for boot and hardware configuration.
  • Environment Variable-Based Configuration - Stores and retrieves system boot parameters in non-volatile memory to control startup behavior.

Historique des stars

Graphique de l'historique des stars pour u-boot/u-bootGraphique de l'historique des stars pour u-boot/u-boot

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Collections incluant U Boot

Sélections manuelles où U Boot apparaît.
  • un système basé sur des plugins pour les environnements de boot

Alternatives open source à U Boot

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec U Boot.
  • tianocore/edk2Avatar de tianocore

    tianocore/edk2

    6,061Voir sur GitHub↗

    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

    Ccfirmwarepython
    Voir sur GitHub↗6,061
  • s-matyukevich/raspberry-pi-osAvatar de s-matyukevich

    s-matyukevich/raspberry-pi-os

    13,854Voir sur GitHub↗

    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

    Carmarmv8assembler
    Voir sur GitHub↗13,854
  • 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

    Cmicrokernelossel4
    Voir sur GitHub↗5,583
  • espressif/arduino-esp32Avatar de espressif

    espressif/arduino-esp32

    16,984Voir sur GitHub↗

    This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj

    C++
    Voir sur GitHub↗16,984
Voir les 30 alternatives à U Boot→

Questions fréquentes

Que fait u-boot/u-boot ?

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.

Quelles sont les fonctionnalités principales de u-boot/u-boot ?

Les fonctionnalités principales de u-boot/u-boot sont : Embedded Device Bootstrapping, System Boot Initializers, Built-In Language Interpreters, Hardware Peripheral Drivers, Hardware Target Configurations, Board Initializers, Hardware Device Initializations, Device Tree Blob Initializers.

Quelles sont les alternatives open-source à u-boot/u-boot ?

Les alternatives open-source à u-boot/u-boot incluent : tianocore/edk2 — edk2 is a development project for creating system firmware that complies with the UEFI specification. It provides the… s-matyukevich/raspberry-pi-os — This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level… sel4/sel4 — seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of… espressif/arduino-esp32 — This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables… mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an… raspberrypi/pico-examples — This project is a reference library of firmware examples and a development framework for creating embedded C…