[root@scratch /]#

Hello from Linux From Scratch! (Honestly, I don't know where I'm heading writing about this.)

A week ago, I rolled up my sleeves to build a Linux-based system from merely the ground up. With the help of a valuable resource, the goal was to reproduce my Arch Linux daily driving environment (not much, but still).

One week later, things are working properly, the system is stable and I feel this rewarding feeling of a new personal broken ground.

My first build is currently installed on a relatively old laptop, but as I am writing those lines, my main computer is compiling.

Just a side note before pursuing, Linux From Scratch (LFS) refers both to:

Briefly, what does building LFS involve? First, you bootstrap a rudimentary system on a partition, by downloading and compiling basic tools for the specific architecture of your machine. Then, you top it with the Linux kernel (configured according to your needs), a boot loader, and administration programs.

LFS does not seem a hard task to you? Well... you might be right.

Five years ago, taking notes on how to install Arch Linux, I wrote: "installing LFS feels a bit hardcore". The content of a feeling cannot be false, but the reasons inducing it can. I thought I needed more knowledge about how Linux works, and more practice. In some sense, I was wrong, because the documentation takes you by the hand to the point you could (with a bit of luck) install a LFS system just by copy/pasting instructions. (Knowledge and practice won't arm, tho.)

If blindly following instructions is not your primary goal, and you have a tendancy to ask w's[1] you'll surely steep something valuable out of this experiment.

Reasons

Why would someone build their own Linux system?

I can only speak for myself, but probably for similar reasons people sculpt, tune their cars, draw, watch reality shows, danse, eat fast food, sing, judge others, write... and so on and so forth.

Building your Linux from scratch is yet another human creative[2], empowering and statisfaction-giving activity. Obviously a singular one, but hey, can one chose what one is interested in?

Here is a list of reasons to consider diving into this niche:

More seriously, LFS allows you to be fully aware of what is installed on your machine, and how every pieces are intertwined. That is an excellent exercice to understand Unix-like systems' structure[5].

Now, why use the LFS documentation to build your own system?

Experimented users certainly don't need LFS to build their own system. But if you're not one of them, what makes them so special and why should you follow LFS to build yours?

Experts quickly know where to look.

And the LFS project helps you with that. It offers the best centralized database of tools and instructions for people not at ease to find their way.

Don't worry, you'll learn a bit of that building your LFS, and especially after, when fine-tuning your system.

Not to spoil you but you'll probably get to BLFS, start compiling external programs, track your packages' dependencies - and in the mean time discover your intuitive package management style, configure your kernel, build your modules, etc.

In this regard, LFS is probably just another milestone of a Linux journey. More broadly, it seems a common and natural path for wannabe hackers to take.


Footnotes

[1] What is it? Why doesn't it work!? Where did I install that? Or, more nerdy :whoami.

[2] Let's play a game: find the above-mentioned activities that cannot match the creativity criteria. If you find none, congrats, you just passed the very-creative-person test.

[3] With x ∈ S | S = { tweak, learn, understand, code, y, ... }; the more you x the more you want to x. (Sorry you're doomed).

[4] Watching the pouring rain outside the window in the sole company of a web-connected machine brings back happy lonely childhood memories.

[5] Linux is in fact only the kernel (roughly the interface between softwares and hardware). There are other operating systems (e.g. FreeBSD) with non-Linux kernel that are structured in similar ways. Linux-based or not, these OS are Unix-like operating systems.

chessgitxmppbookswallet