awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
rust-osdev avatar

rust-osdev/bootloader

0
View on GitHub↗
1,661 stars·233 forks·Rust·Apache-2.0·15 views

Bootloader

This project is a pure-Rust bootloader and firmware loader designed for x86 operating system development. It initializes bare-metal hardware and loads compiled operating system kernels from both legacy BIOS and modern UEFI firmware environments into a running state.

The software utilizes a dual-firmware boot architecture and a pure-rust low-level runtime to handle hardware initialization and memory management without relying on standard library runtimes. It provides automated disk image packaging to combine compiled kernels and bootloader binaries into ready-to-boot FAT-formatted disk images for virtual machines and hardware.

Additional capabilities include compile-time parameter macros for injecting settings such as stack size allocations directly into the binary, alongside custom entry point registration that defines specialized function signatures and automatically generates required startup symbols for execution.

Features

  • Bare-Metal Runtimes - Implements hardware initialization and memory management entirely in bare-metal Rust without relying on standard library runtimes.
  • Dual Firmware Layers - Supports both legacy BIOS and modern UEFI firmware interfaces to load operating system kernels across diverse x86 hardware.
  • Rust Bootloaders - A pure-Rust bootloader that loads x86 operating system kernels from BIOS and UEFI firmware to start custom operating systems.
  • Custom Kernel Booting - Supports operating system kernel booting, loading compiled executables from BIOS and UEFI firmware on x86 hardware.
  • UEFI Bootloaders - Loads compiled operating system kernels from modern UEFI firmware and legacy BIOS environments to boot x86 computers.
  • Rust Development - Writes custom operating systems in Rust for x86 hardware, handling low-level startup tasks and hardware initialization without C dependencies.
  • Compile-Time Macros - Injects configuration settings like stack size allocations directly into the binary at compile time via procedural macros.
  • Bootable Disk Image Toolchains - A tool that combines firmware binaries and compiled kernels into FAT-formatted disk images ready to execute on hardware and virtual machines.
  • Bootable Image Building - Combines firmware binaries and compiled kernels into FAT-formatted images for hardware or virtual machines.
  • Bootable Image Creation - Packages compiled kernel binaries and boot firmware into FAT-formatted disk images that run directly on bare metal or virtual machines.
  • x86 Bootloaders - A firmware loader that initializes x86 hardware and boots compiled executable kernels into a running state.
  • Entry Points - Facilitates kernel entry point definition, registering standalone executables with custom function signatures to automatically generate startup symbols.
  • Virtual Disk Image Booting - Combines compiled kernels and bootloader binaries into ready-to-boot FAT-formatted disk images for virtual machines and hardware.
  • Custom Entry Points - Defines specialized function signatures for kernel entry points that automatically generate the required startup symbols for execution.

Star history

Star history chart for rust-osdev/bootloaderStar history chart for rust-osdev/bootloader

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Bootloader

Similar open-source projects, ranked by how many features they share with Bootloader.
  • limine-bootloader/limineLimine-Bootloader avatar

    Limine-Bootloader/Limine

    3,381View on GitHub↗

    Limine is a multiprotocol operating system bootloader that bridges low-level hardware initialization and system software across legacy BIOS and modern UEFI firmware environments. It executes directly on bare-metal hardware without an underlying operating system kernel or standard C library, parsing storage media and filesystems during the early boot sequence before OS drivers load. The software targets diverse processor architectures including x86, ARM, RISC-V, and LoongArch through discrete target binaries built from shared source code. It reads files directly from FAT and ISO9660 storage f

    Caarch64armarm64
    View on GitHub↗3,381
  • fbelavenuto/arplfbelavenuto avatar

    fbelavenuto/arpl

    7,307View on GitHub↗

    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

    Shell
    View on GitHub↗7,307
  • cirosantilli/x86-bare-metal-examplescirosantilli avatar

    cirosantilli/x86-bare-metal-examples

    5,306View on GitHub↗

    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.

    Assemblyassemblybare-metalbaremetal
    View on GitHub↗5,306
  • phil-opp/blog_osphil-opp avatar

    phil-opp/blog_os

    17,518View on GitHub↗

    This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through

    HTMLkerneloperating-systemrust
    View on GitHub↗17,518
See all 30 alternatives to Bootloader→

Frequently asked questions

What does rust-osdev/bootloader do?

This project is a pure-Rust bootloader and firmware loader designed for x86 operating system development. It initializes bare-metal hardware and loads compiled operating system kernels from both legacy BIOS and modern UEFI firmware environments into a running state.

What are the main features of rust-osdev/bootloader?

The main features of rust-osdev/bootloader are: Bare-Metal Runtimes, Dual Firmware Layers, Rust Bootloaders, Custom Kernel Booting, UEFI Bootloaders, Rust Development, Compile-Time Macros, Bootable Disk Image Toolchains.

What are some open-source alternatives to rust-osdev/bootloader?

Open-source alternatives to rust-osdev/bootloader include: limine-bootloader/limine — Limine is a multiprotocol operating system bootloader that bridges low-level hardware initialization and system… fbelavenuto/arpl — Arpl is a bootloader manager and custom kernel loader for network attached storage devices. It provides a network boot… cirosantilli/x86-bare-metal-examples — This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate… phil-opp/blog_os — This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves… rust-embedded/embedded-hal — Embedded-hal is a hardware abstraction layer for embedded microcontrollers that defines common traits allowing… asahilinux/m1n1 — m1n1 is a low-level bootloader for ARM64-based Apple Silicon hardware. It serves as a firmware tool and…

Curated searches featuring Bootloader

Hand-picked collections where Bootloader appears.
  • Build Your Own Operating System Kernel
  • Bootloaders