awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

12 repositorios

Awesome GitHub RepositoriesSystem Boot Initializers

Routines that start the processor and load the kernel into a functional environment.

Distinct from System Resource Initializers: Focuses on bare-metal boot initialization, distinct from general application resource detection.

Explore 12 awesome GitHub repositories matching operating systems & systems programming · System Boot Initializers. Refine with filters or upvote what's useful.

Awesome System Boot Initializers GitHub Repositories

Encuentra los mejores repositorios con IA.Buscaremos los repositorios que mejor coincidan usando IA.
  • espressif/arduino-esp32Avatar de espressif

    espressif/arduino-esp32

    16,984Ver en 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

    Controls the automatic initialization and startup of primary setup and loop functions upon device boot.

    C++
    Ver en GitHub↗16,984
  • rust-embedded/rust-raspberrypi-os-tutorialsAvatar de rust-embedded

    rust-embedded/rust-raspberrypi-OS-tutorials

    14,682Ver en GitHub↗

    This project is an educational resource for developing bare-metal operating systems and kernels from scratch on Raspberry Pi hardware. It provides a structured guide to systems programming using the Rust language, focusing on the implementation of core kernel components that execute directly on ARM-based hardware without the support of an underlying operating system or standard library. The tutorials emphasize a modular architecture that separates hardware-independent kernel logic from processor-specific and board-specific configurations. By utilizing a hardware abstraction layer and distinct

    Starts the processor from a power-off state and executes the primary entry point to load the operating system kernel.

    Rustaarch64arm64armv8
    Ver en GitHub↗14,682
  • mit-pdos/xv6-publicAvatar de mit-pdos

    mit-pdos/xv6-public

    9,466Ver en 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

    Implements routines that transition the system from the boot loader to the kernel by enabling paging and setting the stack pointer.

    C
    Ver en GitHub↗9,466
  • ophub/amlogic-s9xxx-armbianAvatar de ophub

    ophub/amlogic-s9xxx-armbian

    8,756Ver en GitHub↗

    This project is a Linux distribution build system and deployment framework designed to compile tailored Debian and Ubuntu server images for Amlogic ARM hardware. It functions as an operating system deployer and kernel builder, providing the tools necessary to flash system images to internal or external storage and manage boot configurations on ARM boards. The system includes a specialized build pipeline for compiling Linux kernels with hardware-specific patches and out-of-tree driver modules. It also features a dual-boot partition manager that enables the backup and restoration of original An

    Executes shell scripts from a dedicated system directory to handle hardware-specific configuration during startup.

    Shella311dallwinneramlogic
    Ver en GitHub↗8,756
  • sel4/sel4Avatar de seL4

    seL4/seL4

    5,583Ver en 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

    Creates kernel objects and capabilities from a formal capDL specification to establish the initial system state.

    Cmicrokernelossel4
    Ver en GitHub↗5,583
  • hackclub/putting-the-you-in-cpuAvatar de hackclub

    hackclub/putting-the-you-in-cpu

    5,499Ver en GitHub↗

    Este proyecto es una colección de documentación técnica y guías diseñadas como un explicador de arquitectura de computadores. Proporciona recursos educativos sobre cómo los procesadores y sistemas operativos ejecutan programas, centrándose en el ciclo de fetch-execute y la relación fundamental entre el hardware y el kernel. La documentación cubre una amplia gama de operaciones de sistema de bajo nivel, incluyendo guías detalladas sobre el formato binario ejecutable y enlazable (ELF), gestión de memoria virtual y operaciones a nivel de kernel. Explora específicamente la mecánica de la planificación de CPU, multitarea preventiva y el uso de interrupciones de temporizador para gestionar la ejecución de procesos. El material explica además flujos de trabajo de gestión de memoria como la traducción de direcciones, paginación bajo demanda y el uso compartido de páginas copy-on-write. También cubre la seguridad y el control de acceso mediante la gestión de privilegios del procesador y la aplicación de permisos de páginas de memoria, así como la interfaz de llamadas al sistema utilizada por programas en user-space para solicitar operaciones privilegiadas del kernel. Las guías detallan también el ciclo de vida de ejecución del programa, desde la secuencia de arranque inicial y la carga de binarios hasta el reemplazo de procesos y el bootstrapping de procesos de usuario.

    Traces the boot sequence from firmware and bootloader to the final kernel initialization.

    MDXcpuelflinux
    Ver en GitHub↗5,499
  • u-boot/u-bootAvatar de u-boot

    u-boot/u-boot

    5,093Ver en GitHub↗

    U-Boot es un bootloader embebido que inicializa los componentes de hardware y carga los kernels del sistema operativo en la memoria. Funciona como una capa de abstracción de hardware que proporciona acceso estandarizado a redes, almacenamiento y buses periféricos, sirviendo también como un cargador de arranque seguro y una interfaz de actualización de firmware. El proyecto se distingue por la implementación de secuencias de arranque seguro que verifican firmas criptográficas e interactúan con módulos TPM para establecer una confianza basada en hardware. Además, proporciona capacidades especializadas para actualizar el firmware del dispositivo mediante protocolos estandarizados como Fastboot y DFU, y actúa como un manipulador de árbol de dispositivos (device tree) para configurar los parámetros de hardware antes de que inicie el sistema operativo. El sistema cubre una amplia gama de operaciones de bajo nivel, incluyendo la inicialización de la CPU y el controlador de memoria, gestión de caché de hardware y la ejecución de aplicaciones independientes. Admite el aprovisionamiento remoto de kernels mediante la obtención de imágenes de arranque y árboles de dispositivos desde servidores a través de protocolos de red, y gestiona el comportamiento del sistema mediante variables de entorno y ejecución de scripts de comandos. El proceso de compilación incluye herramientas para el empaquetado de imágenes de arranque y la configuración de objetivos de hardware para garantizar la compatibilidad binaria con dispositivos embebidos específicos.

    Loads and executes kernel images or RAM disks from memory to start an embedded operating system.

    C
    Ver en GitHub↗5,093
  • arisotura/melondsAvatar de Arisotura

    Arisotura/melonDS

    4,812Ver en GitHub↗

    melonDS es un emulador de Nintendo DS y emulador de arquitectura de hardware. Es una aplicación de software diseñada para simular la arquitectura del sistema original de una consola de juegos portátil para ejecutar juegos y aplicaciones originales en diferentes plataformas informáticas. El proyecto funciona como un cargador de firmware capaz de inicializar el entorno emulado utilizando volcados auténticos de BIOS y firmware del sistema. Esto garantiza la compatibilidad del software al replicar el estado del hardware y la secuencia de arranque del sistema original. El emulador proporciona capacidades para la preservación de juegos retro mediante la ejecución de ROMs de juegos originales. Esto se logra mediante la emulación de arquitectura a nivel de hardware, incluyendo la traducción del conjunto de instrucciones y la simulación de E/S mapeada en memoria.

    Provides routines that start the emulated processor and load the initial system state using BIOS dumps.

    C++
    Ver en GitHub↗4,812
  • cpq/bare-metal-programming-guideAvatar de cpq

    cpq/bare-metal-programming-guide

    4,730Ver en GitHub↗

    Este proyecto proporciona recursos educativos y guías técnicas para el desarrollo de firmware de microcontroladores. Se centra en escribir código C de bajo nivel que se ejecuta directamente en el hardware sin un sistema operativo subyacente, cubriendo los fundamentos de registros de hardware, mapeo de memoria y relojes del sistema. Las guías detallan la creación de capas de abstracción de hardware para envolver registros mapeados en memoria en interfaces estructuradas y proporcionan tutoriales para integrar pilas TCP/IP y servidores HTTP en entornos bare-metal. También describe la implementación de tuberías de construcción para sistemas embebidos, desde la compilación de binarios con scripts de enlazador hasta el despliegue de firmware en placas físicas. El material cubre una amplia gama de capacidades embebidas, incluyendo integración de hardware, configuración de registros de periféricos y la configuración de programación de tareas basada en interrupciones. También aborda el flujo de trabajo de depuración de microcontroladores mediante comunicación UART y redirección de E/S estándar. El repositorio incluye instrucciones para gestionar cadenas de herramientas de compilación cruzada y automatizar la construcción y despliegue de firmware.

    Sets up the system vector table in flash memory to define the initial stack pointer and entry point.

    C
    Ver en GitHub↗4,730
  • unifi-utilities/unifi-commonAvatar de unifi-utilities

    unifi-utilities/unifi-common

    4,343Ver en GitHub↗

    unifi-common es una utilidad de inicio y extensión del sistema para hardware de red Ubiquiti UniFi. Sirve como gestor de scripts de arranque para dispositivos UniFi OS, permitiendo la aplicación de configuraciones personalizadas persistentes y la inicialización de procesos en segundo plano durante la secuencia de inicio del sistema. La utilidad proporciona un framework para automatizar la configuración del hardware de red y personalizar el comportamiento del dispositivo. Logra esto gestionando y ejecutando una colección de scripts de shell y archivos de configuración diseñados para ejecutarse en el momento del arranque. El sistema emplea un modelo de ejecución basado en directorios, escaneando un directorio específico de arranque para activar scripts secuencialmente. Este enfoque basado en hooks utiliza el sistema de archivos para determinar qué lógica personalizada y extensiones de software deben aplicarse a medida que el dispositivo arranca.

    Implements a boot sequence that automatically executes shell scripts located within a specific filesystem directory.

    Shell
    Ver en GitHub↗4,343
  • chyyuu/os_kernel_labAvatar de chyyuu

    chyyuu/os_kernel_lab

    4,045Ver en GitHub↗

    Este proyecto es un framework educativo y kit de herramientas diseñado para desarrollar y probar kernels de sistemas operativos. Proporciona un entorno estructurado para implementar primitivas fundamentales del sistema, incluyendo gestión de memoria virtual, programación de procesos preventiva y organización de sistemas de archivos, utilizando Rust y C. El framework está orientado específicamente a arquitecturas RISC-V y x86, sirviendo como laboratorio para aprender a construir software de sistema central desde cero. El proyecto se distingue por admitir tanto el despliegue bare-metal como la emulación de hardware, permitiendo a los desarrolladores validar la lógica del kernel en hardware físico o dentro de entornos simulados. Incluye una cadena de herramientas de compilación completa que maneja la compilación entre arquitecturas y la inicialización del firmware, asegurando que el kernel pueda ser correctamente arrancado y ejecutado en diferentes plataformas objetivo. El sistema cubre una amplia gama de capacidades de bajo nivel, incluyendo capas de abstracción de hardware que desacoplan la lógica del sistema de diseños de procesadores específicos e interfaces de llamadas al sistema que gestionan el límite entre las aplicaciones de espacio de usuario y los servicios del kernel. También incorpora características de observabilidad, como registro en tiempo de ejecución y monitoreo de ejecución, para ayudar en el análisis del comportamiento del sistema durante el desarrollo.

    Prepares the execution environment by loading firmware and establishing essential hardware-level interactions during system startup.

    Rustkernellabos
    Ver en GitHub↗4,045
  • sypstraw/rpi4-osdevAvatar de sypstraw

    sypstraw/rpi4-osdev

    3,754Ver en GitHub↗

    This project is a tutorial for developing a custom bare metal operating system specifically for the Raspberry Pi 4. It provides the guidance and resources necessary to write software that interacts directly with hardware without the use of a pre-existing kernel. The project centers on an ARM64 cross-compilation toolchain and a build pipeline that transforms source code into raw binary images. It utilizes linker scripts to define physical memory addresses and section placements, ensuring the resulting binary loads at the correct hardware entry point. The codebase covers direct hardware interf

    Includes routines to initialize the processor and prepare memory stacks to establish a known functional state.

    C
    Ver en GitHub↗3,754
  1. Home
  2. Operating Systems & Systems Programming
  3. System Resource Initializers
  4. System Boot Initializers

Explorar subetiquetas

  • Boot-Time Resource DiscoveryObtaining information about available hardware resources such as IRQs, memory regions, and IO ports during system boot. **Distinct from System Boot Initializers:** Distinct from System Boot Initializers: focuses on discovering and retrieving resource information, not just booting the processor.
  • Declarative System InitializersRoutines that create kernel objects and capabilities from a formal declarative specification to establish the initial system state. **Distinct from System Boot Initializers:** Distinct from System Boot Initializers: creates objects from a declarative capability specification, not just booting the processor.
  • Directory-Based Init ScriptsSystem initialization mechanisms that execute scripts from specific filesystem directories during boot. **Distinct from System Boot Initializers:** Specific to the mechanism of directory-based script execution during startup, not bare-metal processor initialization
  • Vector Table ConfigurationsInitialization of the interrupt vector table to define system entry points and stack pointers. **Distinct from System Boot Initializers:** Distinct from System Boot Initializers: focuses specifically on the vector table definition in flash memory.