A simple, easy-to-use distro with minimal headache. :)
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.
The purpose of this project is to provide 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.
My 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.
To get the most out of it:
- Follow the Order: Start at
Handbook/000-Index.mdorHandbook/001-Introduction.mdand move through the chapters sequentially. - Read the Explanations: Every step includes a "Purpose" 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 "Expected Outcome" 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.
Built with ❤️ and source code by Astik Goswami (creator).