- Notifications
You must be signed in to change notification settings - Fork1.3k
Learning operating system development using Linux kernel and Raspberry Pi
License
s-matyukevich/raspberry-pi-os
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
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 onLinux kernel, but the OS has very limited functionality and supports onlyRaspberry 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 thesrc 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 theIntroduction. The project is still under active development, if you are willing to participate - please read theContribution guide.
- Introduction
- Contribution guide
- Prerequisites
- Lesson 1: Kernel Initialization
- Lesson 2: Processor initialization
- Lesson 3: Interrupt handling
- Lesson 4: Process scheduler
- Lesson 5: User processes and system calls
- Lesson 6: Virtual memory management
- Lesson 7: Signals and interrupt waiting (To be done)
- Lesson 8: File systems (To be done)
- Lesson 9: Executable files (ELF) (To be done)
- Lesson 10: Drivers (To be done)
- Lesson 11: Networking (To be done)
About
Learning operating system development using Linux kernel and Raspberry Pi
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.



