A simple, easy-to-use distribution that you build yourself. :)
ScratchOS (SOS) is a project and accompanying handbook designed to take you from a standard Linux host to a fully functional, custom-built operating system.
This project provides a clear, linear, and beginner-friendly path through the process of building ScratchOS. Unlike traditional documentation that can be overwhelming with options, this guide focuses on a single, verified path to success.
The goal is to help you understand the internal workings of a Linux system by building it from the ground up, one package at a time.
Before you begin the handbook, ensure you have the following:
- A Host Linux Distribution: You need an existing Linux system (like Debian, Ubuntu, or Fedora) to act as your building environment.
- Basic Command Line Knowledge: You should be comfortable using a terminal and running commands as
rootor usingsudo(i.e.: ls, cd, cat etc, everything else is taken care for you ;) ). - Host Development Tools: Your host system must have essential build tools installed (e.g.,
bash,binutils,gcc,make, etc.). - Disk Space: At least 20-30 GB of free space on a dedicated partition.
- Patience: Building an OS takes time. Don't rush!
The Handbook/ directory contains a step-by-step guide to building ScratchOS. It is also published as a website:
https://gitx64.github.io/ScratchOS/
To get the most out of it:
- Follow the Order: Start at the index and move through the chapters sequentially.
- Read the Explanations: Every step includes an "Overview" section. Understanding why you are running a command is just as important as running it correctly.
- Copy-Paste Carefully: While we provide command blocks for ease, always double-check the variables before executing.
- Verify Outcomes: After each major step, ensure the "Verification" section matches your experience.
By the end of the handbook, you will have:
- A functional, self-hosted Linux system named ScratchOS.
- A custom-compiled Linux kernel tailored to your needs.
- The
systemdinit system managing your services. - A deep understanding of how the various components of a Linux system fit together.
Created and maintained by Astik Goswami.