Back to rankings

s-matyukevich/raspberry-pi-os

C

Learning operating system development using Linux kernel and Raspberry Pi

raspberry-pilinux-kernelosdevarmoperating-systemraspberry-pi-3armv8kerneltutorialcassemblereducation
Star Growth
Stars
13.9k
Forks
1.3k
Weekly Growth
Issues
60
5k10k
Apr 2018Jan 2021Oct 2023Jul 2026
README

Learning operating system development using Linux kernel and Raspberry Pi

This repository contains a step-by-step guide that teaches how to create a simple operating system (OS) kernel from scratch. I call this OS Raspberry Pi OS or just RPi OS. The RPi OS source code is largely based on Linux kernel, but the OS has very limited functionality and supports only Raspberry PI 3.

Each lesson is designed in such a way that it first explains how some kernel feature is implemented in the RPi OS, and then it tries to demonstrate how the same functionality works in the Linux kernel. Each lesson has a corresponding folder in the src directory, which contains a snapshot of the OS source code at the time when the lesson had just been completed. This allows the introduction of new concepts gracefully and helps readers to follow the evolution of the RPi OS. Understanding this guide doesn't require any specific OS development skills.

For more information about project goals and history, please read the Introduction. The project is still under active development, if you are willing to participate - please read the Contribution guide.

Follow @RPi_OS on twitter Follow Raspberry Pi OS on facebook Join Raspberry Pi OS in slack Subscribe for updates

Table of Contents

Related repositories
home-assistant/core

:house_with_garden: Open source home automation that puts local control and privacy first.

PythonPyPIApache License 2.0pythonhome-automation
home-assistant.io
89.4k38.1k
pi-hole/pi-hole

A black hole for Internet advertisements

ShellOtherpi-holead-blocker
pi-hole.net
60k3.3k
gogs/gogs

The painless way to host your own Git service

GoGo ModulesMIT Licensegogsgo
gogs.io
47.7k5.1k
raysan5/raylib

A simple and easy-to-use library to enjoy videogames programming

Czlib Licenseraylibc
raylib.com
34k3.2k
hwdsl2/setup-ipsec-vpn

Set up your own IPsec VPN server in just a few minutes, with IPsec/L2TP, Cisco IPsec and IKEv2. Supports Ubuntu, Debian, CentOS/RHEL, Alpine Linux and Raspberry Pi OS. Includes client config and management scripts.

ShellOthervpnipsec
28.2k6.5k
MagicMirrorOrg/MagicMirror

MagicMirror² is an open source modular smart mirror platform. With a growing list of installable modules, the MagicMirror² allows you to convert your hallway or bathroom mirror into your personal assistant.

JavaScriptnpmMIT Licensemagicmirrorjavascript
magicmirror.builders
23.7k4.5k
navidrome/navidrome

🎧 Your Personal Streaming Service

GoGo ModulesGNU General Public License v3.0musicsubsonic-server
navidrome.org
22.4k1.6k
mikeroyal/Self-Hosting-Guide

Self-Hosting Guide. Learn all about locally hosting (on premises & private web servers) and managing software applications by yourself or your organization. Including Cloud, LLMs, WireGuard, Automation, Home Assistant, and Networking.

Dockerfileself-hostedselfhosted
22k1.1k
jarun/nnn

n³ The unorthodox terminal file manager

CBSD 2-Clause "Simplified" Licensefile-managerdisk-usage
21.7k811
microsoft/IoT-For-Beginners

12 Weeks, 24 Lessons, IoT for All!

Jupyter NotebookMIT Licenseiotmicrocontroller
17k2.9k
thibmaek/awesome-raspberry-pi

📝 A curated list of awesome Raspberry Pi tools, projects, images and resources

ShellOtherawesomeraspberry-pi
16.6k1.1k
alphacep/vosk-api

Offline speech recognition API for Android, iOS, Raspberry Pi and servers with Python, Java, C# and Node

Jupyter NotebookApache License 2.0speech-recognitionasr
15k1.7k