Skip to content
Learning operating system development using Linux kernel and Raspberry Pi
C Assembly Makefile Shell Batchfile HTML
Branch: master
Clone or download
Latest commit f8c49a8 Jul 25, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
_layouts css class updated Jul 27, 2018
assets/css link to the root page added Jul 27, 2018
docs fix typo in lesson04 Jul 22, 2019
exercises download and simple minicom Jun 5, 2019
images slack image updated Sep 29, 2018
src Add missing messages in entry_error_messages Jul 27, 2018
.gitignore Add gtags to gitignore and fix grammar Jun 20, 2018
Dockerfile build script updated Nov 23, 2017
LICENSE Add LICENSE Apr 9, 2018 Minor README correction Dec 27, 2018
_config.yml Set theme jekyll-theme-hacker Apr 9, 2018

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

You can’t perform that action at this time.