Skip to content

Learning operating system development using Linux kernel and Raspberry Pi

License

Notifications You must be signed in to change notification settings

ZhaoHeh/raspberry-pi-os

This branch is 6 commits ahead of, 21 commits behind s-matyukevich/raspberry-pi-os:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b30cc53 · Nov 20, 2020
Jul 27, 2018
Jul 27, 2018
Oct 29, 2020
Oct 12, 2020
Sep 29, 2018
Nov 20, 2020
Aug 27, 2020
Jun 20, 2018
Nov 23, 2017
Apr 9, 2018
Mar 3, 2020
Apr 9, 2018

Repository files navigation

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

About

Learning operating system development using Linux kernel and Raspberry Pi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 78.1%
  • Assembly 15.7%
  • Makefile 4.9%
  • Shell 0.8%
  • Batchfile 0.4%
  • HTML 0.1%