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
babbleberry avatar

babbleberry/rpi4-osdev

0
View on GitHub↗
3,757 stars·279 forks·C·CC0-1.0·20 viewswww.rpi4os.com↗

Rpi4 Osdev

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 mapping, and direct hardware initialization of the system on chip clock and power settings.

The environment utilizes a cross-compilation toolchain to target the device hardware and employs ARM64 assembly for initial CPU and memory controller bootstrapping.

Features

  • Bare Metal Development - Provides a codebase and guide for developing an operating system that executes directly on hardware.
  • Register Management - Controls physical hardware components directly by managing memory and processor registers.
  • ARM64 Bootloaders - Implements low-level firmware to initialize ARM64 hardware and load the operating system kernel.
  • Bare-Metal Runtimes - Provides a specialized execution environment that runs code directly on hardware without an underlying operating system.
  • Bare Metal Kernels - Implements a low-level kernel foundation that interfaces directly with physical hardware components.
  • Embedded Device Bootstrapping - Implements the full sequence of initializing hardware and transitioning to a functional system kernel.
  • Hardware Initializations - Configures the SoC clock and power settings during the early boot phase to stabilize the platform for the kernel.
  • Physical Address Mapping - Manages the translation between virtual memory and the actual physical RAM addresses of the hardware.
  • Memory-Mapped I/O - Implements hardware interfacing by reading and writing to specific physical memory addresses for device registers.
  • Raspberry Pi Systems Programming - Implements low-level systems programming and driver development specifically for the Raspberry Pi 4 architecture.
  • Cross-Compilation Toolchains - Utilizes a build environment capable of generating executable binaries for ARM64 hardware from a host machine.
  • Bare Metal Deployment Environments - Provides the necessary environment to initialize hardware and execute code directly on the processor.
  • Single Board Computing - OS development resources for Raspberry Pi 4.

Star history

Star history chart for babbleberry/rpi4-osdevStar history chart for babbleberry/rpi4-osdev

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

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

Frequently asked questions

What does babbleberry/rpi4-osdev do?

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.

What are the main features of babbleberry/rpi4-osdev?

The main features of babbleberry/rpi4-osdev are: Bare Metal Development, Register Management, ARM64 Bootloaders, Bare-Metal Runtimes, Bare Metal Kernels, Embedded Device Bootstrapping, Hardware Initializations, Physical Address Mapping.

What are some open-source alternatives to babbleberry/rpi4-osdev?

Open-source alternatives to babbleberry/rpi4-osdev include: sypstraw/rpi4-osdev — This project is a tutorial for developing a custom bare metal operating system specifically for the Raspberry Pi 4. It… rust-embedded/rust-raspi3-os-tutorials — This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the… enjoy-digital/litex — LiteX is an FPGA SoC development suite and SoC builder framework used to programmatically design system-on-chips. It… rust-embedded/rust-raspberrypi-os-tutorials — This project is an educational resource for developing bare-metal operating systems and kernels from scratch on… tinygo-org/tinygo — TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to… balloonwj/cppguide — CppGuide is a curated collection of educational resources and practical guides focused on C++ server development,…

Open-source alternatives to Rpi4 Osdev

Similar open-source projects, ranked by how many features they share with Rpi4 Osdev.
  • 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
  • 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
  • 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
  • rust-embedded/rust-raspberrypi-os-tutorialsrust-embedded avatar

    rust-embedded/rust-raspberrypi-OS-tutorials

    14,682View on 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

    Rustaarch64arm64armv8
    View on GitHub↗14,682
  • See all 30 alternatives to Rpi4 Osdev→