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

sypstraw/rpi4-osdev

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

Rpi4 Osdev

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 interfacing by writing to physical memory addresses and hardware registers. It also addresses embedded system booting through single-core boot sequencing and the management of processor states and memory stacks.

Features

  • Tutorials - Offers a comprehensive tutorial on developing a custom bare metal operating system for the Raspberry Pi 4.
  • Bare Metal Development - Provides a comprehensive tutorial and codebase for developing a custom bare-metal operating system from scratch.
  • Embedded Hardware Cross-Compilation - Utilizes a cross-compilation toolchain configured specifically for ARM64 embedded hardware targets.
  • Hardware Peripheral Control - Provides low-level control of system peripherals through direct physical memory address and register access.
  • Bare-Metal Runtimes - Provides a bare-metal runtime environment that executes code directly on Raspberry Pi 4 hardware without an underlying operating system.
  • Bare Metal Kernels - Provides a foundation for a custom kernel that interfaces directly with the Raspberry Pi 4 hardware.
  • Linker Script Layouts - Uses linker scripts to define the physical memory placement of code and data sections for correct boot sequence execution.
  • Linker Script Memory Layouts - Defines the mapping of object files to physical memory addresses using linker scripts.
  • Raspberry Pi Systems Programming - Focuses specifically on low-level systems programming and hardware interfacing for the Raspberry Pi 4 architecture.
  • Hardware Register Accessors - Enables direct interaction with hardware registers to control system peripherals and processor states.
  • Register-Level Controllers - Provides register-level control for high-precision manipulation of hardware peripherals via memory-mapped addresses.
  • Bootloader Binary Images - Implements a pipeline to transform compiled object files into raw binary images compatible with the Raspberry Pi 4 bootloader.
  • Build Systems - Implements a build system to transform source code into raw binary images via linker scripts for target hardware.
  • Embedded Boot Sequences - Defines memory addresses and linker scripts to ensure the Raspberry Pi 4 executes code correctly from the entry point.
  • Boot Sequencing Control - Implements single-core boot sequencing to prevent race conditions during the initial hardware startup phase.
  • Cross-Compilation Toolchains - Implements a build pipeline for generating binaries for target hardware from a different host system.
  • System Boot Initializers - Includes routines to initialize the processor and prepare memory stacks to establish a known functional state.
  • Cross Compilation Toolchains - Utilizes a set of host-based compilers and build tools specifically for targeting ARM64 processor architectures.
  • Binary Cross-Compilation - Transforms low-level source code into executable binaries for a different target architecture using a cross-compiler.

Star history

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

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Projects sharing features with Rpi4 Osdev

These projects share indexed features with Rpi4 Osdev. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • cpq/bare-metal-programming-guidecpq avatar

    cpq/bare-metal-programming-guide

    4,730View on GitHub↗

    This project provides educational resources and technical guides for microcontroller firmware development. It focuses on writing low-level C code that runs directly on hardware without an underlying operating system, covering the fundamentals of hardware registers, memory mapping, and system clocks. The guides detail the creation of hardware abstraction layers to wrap raw memory-mapped registers into structured interfaces and provide walkthroughs for integrating TCP/IP stacks and HTTP servers into bare-metal environments. It also outlines the implementation of embedded systems build pipelines

    C
    View on GitHub↗4,730
  • 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
  • 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
  • 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
Compare all 30 related projects→

Frequently asked questions

What does sypstraw/rpi4-osdev do?

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.

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

The main features of sypstraw/rpi4-osdev are: Tutorials, Bare Metal Development, Embedded Hardware Cross-Compilation, Hardware Peripheral Control, Bare-Metal Runtimes, Bare Metal Kernels, Linker Script Layouts, Linker Script Memory Layouts.

Which projects share features with sypstraw/rpi4-osdev?

Projects with overlapping indexed features include: cpq/bare-metal-programming-guide — This project provides educational resources and technical guides for microcontroller firmware development. It focuses… babbleberry/rpi4-osdev — rpi4-osdev is a project for bare metal operating system development targeting the Raspberry Pi 4. It focuses on… rust-embedded/rust-raspberrypi-os-tutorials — This project is an educational resource for developing bare-metal operating systems and kernels from scratch on… s-matyukevich/raspberry-pi-os — This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level… 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… nodemcu/nodemcu-firmware — This project is a Lua-based firmware environment for the ESP8266 WiFi chip, providing an embedded Lua interpreter and…