Skip to content
RadishOS & RadishFactory

RadishOS & RadishFactory

In this section, you will find pages regarding my own Linux distribution and automated factory project.

TL;DR

I want to learn about network infrastructure, CI/CD, and Linux hardening, so I am crafting my own Linux distribution from (almost) scratch, as well as an automated factory meant to build binaries and ISOs.

Why radishes?

What started as a joke between my friends and I may actually bear some meaning:

  • Just like a radish, the distro I want to build is meant to be small and straightforward.
  • Just like a radish, it is supposed to be delicious and refreshing.
  • Just like radishes, it may have a lot of possible variants/varieties (depending on my choices).
  • I need to touch more grass.

Motivations behind this project

Over the past few years, I have used many Linux distributions for school and personal use (including gaming). On the one had, my favorite and longest-running distro is Archlinux, whose freedom- and control-centric paradigm suits my needs perfectly. Moreover, using Arch for a long time has allowed me to learn quite a few things which have become a solid set of tools I use regularly, including at work.

On the other hand, having discovered and run Gentoo daily at work, I have learnt to appreciate the USE flag feature of its package manager, Portage. In essence, Gentoo allows me to enjoy the same freedom as Arch, with the addition of compilation control. Naturally, working with it Gentoo has deepened my understanding of Linux as a whole, to the point where I have considered installing it on my personal computers.

However, in doing so, I have run into an important problem: compilation takes time (especially on older lower-end hardware). In addition, regardless of which distribution I choose, installing and to configuring the OS to my liking takes time and has become redundant over time (even after having standardised my dotfiles deployment).

Intended Solution

Therefore, I have decided to create:

  • My own ready-to-use Linux distribution, based on Gentoo, with precompiled packages and build-in default configuration;
  • A binary package builder that compiles from ebuild files and provides a mirror available online;
  • A self-hosted factory to handle the construction of installation media for a simplified bootstrapping process.

Outline of this documentation

To justify which solutions will be chosen in the end, and to explain the needs and context in further details, I want to start with a section dedicated to the functional analysis of said needs. Then, I will document a technical reflexion about what components could be included to the OS and factory. Lastly, I will give details on my implementations of this project, especially as a part of my homelab.

Functional Analysis

Technical Considerations

Implementations

Last updated on