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
Back to cirosantilli/x86-bare-metal-examples

Projects sharing features with X86 Bare Metal Examples

30 open-source projects similar to cirosantilli/x86-bare-metal-examples, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.

  • mit-pdos/xv6-publicmit-pdos avatar

    mit-pdos/xv6-public

    9,466View on 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

    C
    View on GitHub↗9,466
  • yourtion/30daymakeosyourtion avatar

    yourtion/30dayMakeOS

    6,412View on GitHub↗

    30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro

    Casmbootc
    View on GitHub↗6,412
  • s-matyukevich/raspberry-pi-oss-matyukevich avatar

    s-matyukevich/raspberry-pi-os

    13,854View on 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
    View on GitHub↗13,854

AI search

Explore more awesome repositories

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

Find more with AI search
  • rust-embedded/rust-raspi3-os-tutorialsrust-embedded avatar

    rust-embedded/rust-raspi3-OS-tutorials

    14,682View on GitHub↗

    This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b

    Rust
    View on GitHub↗14,682
  • tinygo-org/tinygotinygo-org avatar

    tinygo-org/tinygo

    17,529View on GitHub↗

    TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re

    Goadafruitarduinoarm
    View on GitHub↗17,529
  • intermezzos/kernelintermezzOS avatar

    intermezzOS/kernel

    1,396View on GitHub↗

    Kernel is an educational hobby operating system and low-level systems programming project written in Rust. Designed for students and hobbyists, the project provides a minimalist environment to explore computer architecture, CPU design, and kernel development directly on hardware without relying on a standard library or underlying operating system. The implementation features a freestanding language runtime and a custom target specification that replaces standard library components for bare-metal execution. It includes a multiboot bootloader interface to parse early-boot hardware handoff stat

    Rust
    View on GitHub↗1,396
  • 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
  • hyperdbg/hyperdbgHyperDbg avatar

    HyperDbg/HyperDbg

    3,885View on GitHub↗

    HyperDbg is a hardware-assisted kernel-mode debugging platform that leverages virtualization to monitor and control system execution. By utilizing hypervisor-level primitives, it enables deep system analysis and instrumentation without relying on standard operating system debugging interfaces. The framework provides a comprehensive environment for inspecting both kernel and user-mode processes, allowing for granular control over execution flow and system state. The project distinguishes itself through a transparent debugging layer designed to remain invisible to the target environment. It emp

    Cbinary-analysisdebugdebugger
    View on GitHub↗3,885
  • froggey/mezzanofroggey avatar

    froggey/Mezzano

    3,864View on GitHub↗

    Mezzano is a self-hosted operating system written entirely in Common Lisp. It employs a language-integrated kernel architecture where both the kernel and user-space applications execute within a single, unified high-level language runtime. The system is designed for both bare-metal environments, booting from physical external media, and as a guest operating system within virtual machine software. It implements symmetric multiprocessing to distribute computational workloads across multiple CPU cores. The environment includes capabilities for automated memory recovery via generational garbage

    Common Lisp
    View on GitHub↗3,864
  • xiaowenxia/embedded-notesxiaowenxia avatar

    xiaowenxia/embedded-notes

    3,998View on GitHub↗

    embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel internals, and C programming. It serves as a reference for embedded systems development and a preparation resource for technical interviews in the field. The project provides detailed documentation on writing device drivers, managing virtual memory, and understanding kernel internals. It also includes guides on IoT network protocols, such as MQTT and TCP/IP, and outlines the architectural details of chip architectures and hardware peripherals. The material covers a broad sur

    armcdriver
    View on GitHub↗3,998
  • klange/toaruosklange avatar

    klange/toaruos

    6,783View on GitHub↗

    ToaruOS is an independent operating system built from the ground up without external dependencies. It features a custom x86-64 kernel that supports symmetric multiprocessing and paging, paired with a graphical windowing system and a dedicated bytecode interpreter for application logic. The system distinguishes itself by integrating an embedded Python environment for system-level development and a custom graphical interface that handles its own window composition and text rendering. It includes a compatibility layer for third-party application support and a system package manager for handling

    Caarch64armv8baremetal
    View on GitHub↗6,783
  • 0xax/linux-insides0xAX avatar

    0xAX/linux-insides

    32,632View on GitHub↗

    This project is a technical reference and educational guide focused on the internal architecture of the Linux kernel. It serves as a low-level systems programming resource and documentation for operating system internals, detailing the implementation of core mechanisms within the kernel source code. The materials provide a detailed study of the Linux kernel, tracing behavior through actual C source and assembly. It specifically covers the progression from the bootloader and decompression to the final kernel entry point, alongside the management of hardware interrupts and symmetric multiproces

    Pythonlinuxlinux-insideslinux-kernel
    View on GitHub↗32,632
  • sel4/sel4seL4 avatar

    seL4/seL4

    5,583View on 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
    View on GitHub↗5,583
  • 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
  • tuhdo/os01tuhdo avatar

    tuhdo/os01

    13,426View on GitHub↗

    This project is an educational resource and technical reference for building operating systems from scratch. It provides a comprehensive guide to mastering x86 architecture and implementing core kernel components by writing code that executes directly on hardware without the support of standard libraries or operating system abstractions. The materials focus on low-level systems engineering, teaching users how to interpret technical datasheets to manage hardware resources. It covers the fundamental mechanics of bare-metal programming, including the use of assembly language to define execution

    TeXbookoperating-system
    View on GitHub↗13,426
  • chyyuu/os_kernel_labchyyuu avatar

    chyyuu/os_kernel_lab

    4,045View on GitHub↗

    This project is an educational framework and toolkit designed for developing and testing operating system kernels. It provides a structured environment for implementing fundamental system primitives, including virtual memory management, preemptive process scheduling, and filesystem organization, using Rust and C. The framework is specifically oriented toward RISC-V and x86 architectures, serving as a laboratory for learning how to build core system software from the ground up. The project distinguishes itself by supporting both bare-metal deployment and hardware emulation, allowing developers

    Rustkernellabos
    View on GitHub↗4,045
  • napi-rs/napi-rsnapi-rs avatar

    napi-rs/napi-rs

    7,500View on GitHub↗

    napi-rs is a framework and toolkit for building high-performance native extensions for Node.js using Rust. It functions as a bridge between Rust and JavaScript runtimes, enabling the conversion of data types and the execution of native functions within a JavaScript environment. The project provides a native binary compiler and a cross-platform module orchestrator to automate the compilation and publishing of packages across multiple operating systems and architectures. It generates corresponding JavaScript type definitions and platform-specific binaries to ensure consistent installation. The

    Rustjavascriptnapinapi-rs
    View on GitHub↗7,500
  • rust-osdev/bootloaderrust-osdev avatar

    rust-osdev/bootloader

    1,661View on GitHub↗

    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

    Rust
    View on GitHub↗1,661
  • scala-native/scala-nativescala-native avatar

    scala-native/scala-native

    4,670View on GitHub↗

    Scala Native is an ahead-of-time compiler that transforms Scala source code into standalone native binaries for direct execution on hardware. It provides a native binary toolchain designed to eliminate virtual machine warm-up times and ensure instant startup by compiling code into optimized executables. The project features a C interoperability interface and foreign function interface that map native C headers to language objects, allowing for the direct execution of external libraries. It includes a low-level memory manager that supports direct pointer manipulation and the use of structs for

    Scalaaotcompilerllvm
    View on GitHub↗4,670
  • enjoy-digital/litexenjoy-digital avatar

    enjoy-digital/litex

    3,963View on GitHub↗

    LiteX is an FPGA SoC development suite and SoC builder framework used to programmatically design system-on-chips. It provides a hardware description toolchain that uses a scriptable framework to define hardware layouts and automate the generation of hardware description language code. The project distinguishes itself by orchestrating multiple vendor and open-source toolchains to synthesize digital logic and generate deployable bitstreams. It supports multi-language logic integration, allowing disparate hardware description languages to be combined into a single project. The framework covers

    Pythonfpgahardwaresystem-on-chip
    View on GitHub↗3,963
  • mamedev/mamemamedev avatar

    mamedev/mame

    9,929View on GitHub↗

    MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal

    C++
    View on GitHub↗9,929
  • micropython/micropythonmicropython avatar

    micropython/micropython

    21,806View on GitHub↗

    MicroPython is a lean implementation of Python 3 optimized to run on microcontrollers and other resource-constrained systems. It serves as a cross-platform embedded runtime and hardware abstraction layer, providing a firmware framework that maps high-level software commands to specific microcontroller registers across diverse processor architectures. The project functions as an embedded language interpreter that enables rapid prototyping on hardware through an interactive read-eval-print loop. It supports a wide range of target environments, including ARM, ESP32, STM32, RISC-V, and WebAssembl

    Cembeddedmicrocontrollermicropython
    View on GitHub↗21,806
  • hugsy/gefhugsy avatar

    hugsy/gef

    8,020View on GitHub↗

    GEF is a Python-based extension for GDB that serves as a framework for binary analysis, exploit development, and low-level debugging. It functions as a dynamic analysis extension designed to assist in reverse engineering workflows and malware analysis by enhancing the debugger's ability to inspect process state and memory. The project is distinguished by its specialized heap analysis tools, which allow for the inspection of glibc heap arenas, bins, and chunks to detect memory corruption. It also provides a dedicated toolkit for exploit development, including cyclic pattern generation for offs

    Pythonbinary-ninjactfdebugging
    View on GitHub↗8,020
  • asterinas/asterinasasterinas avatar

    asterinas/asterinas

    4,678View on GitHub↗

    Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se

    Rustkernelosrust
    View on GitHub↗4,678
  • babbleberry/rpi4-osdevbabbleberry avatar

    babbleberry/rpi4-osdev

    3,757View on GitHub↗

    rpi4-osdev is a project for bare metal operating system development targeting the Raspberry Pi 4. It focuses on creating a custom operating system that runs directly on the hardware without an underlying kernel or abstraction layer. The project provides a codebase and instructional guide for developing a low-level system from scratch. This process involves transitioning from early boot code to kernel execution on the ARM64 architecture. The technical scope covers embedded system bootstrapping and low-level hardware interfacing. This includes managing memory-mapped I/O, physical address mappi

    C
    View on GitHub↗3,757
  • sypstraw/rpi4-osdevsypstraw avatar

    sypstraw/rpi4-osdev

    3,754View on 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

    C
    View on GitHub↗3,754
  • 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
  • nuta/operating-system-in-1000-linesnuta avatar

    nuta/operating-system-in-1000-lines

    3,258View on GitHub↗

    This project is an educational operating system kernel designed to demonstrate the fundamental architectural principles of memory paging and process management. It is implemented as a minimal kernel that serves as a practical reference for building a functioning system from the ground up. The implementation features a preemptive multitasking kernel that switches execution contexts between threads to share a single CPU. It includes an x86 virtual memory manager that uses paging to map virtual addresses to physical memory and isolate processes. The system covers low-level hardware interfacing

    C
    View on GitHub↗3,258
  • smoltcp-rs/smoltcpsmoltcp-rs avatar

    smoltcp-rs/smoltcp

    4,496View on GitHub↗

    smoltcp is a standalone TCP/IP network stack written in Rust, designed specifically for bare-metal and embedded systems. It provides a memory-safe implementation of the internet protocol suite that operates without requiring dynamic heap allocation. The project is distinguished by its heap-less memory management, using fixed-size buffers and manually allocated memory to ensure deterministic performance. It employs zero-copy packet processing and an interface-based hardware abstraction to decouple the network stack from physical hardware. The stack covers a broad range of networking capabilit

    Rustembeddednetworking-stack
    View on GitHub↗4,496
  • holoiso-eol/holoisoholoiso-eol avatar

    holoiso-eol/holoiso

    5,197View on GitHub↗

    Holoiso is a tool for building custom, bootable operating system images based on SteamOS 3 for installation on non-Steam Deck hardware. It uses a Linux Archiso base to generate installable disk images that replicate a handheld gaming experience on generic devices. The project enables the creation of a gaming-oriented distribution featuring a gamepad-driven interface and the ability to toggle between a standard desktop environment and a gaming session. It includes high-performance shaders for system-wide image upscaling to balance visual quality and frame rates across the gaming interface. Th

    Shell
    View on GitHub↗5,197