For those of you who don’t know, Linux From Scratch is a project that teaches you how to compile your own custom distro, with everything compiled from source code.
What was your experience like? Was it easier or harder than you expected? Do you run it as a daily driver or did you just do it for fun?
That is just the gateway drug to bootstrapping.
Check out https://github.com/fosslinux/live-bootstrap
if you want the real hard stuff.
Did it to learn. Mostly because I had no wifi / internet at home during the time, but did have a burned CD and a book. Was useful, but when I started using Linux as a daily driver I went straight to Ubuntu, and later Fedora
Do recommend for learning and tinkering though.
I ran it as my primary distro on my main machine for a while way back when. I don’t recommend that.
What I do recommend is going though the entire process even if it’s just in a VM. It’s incredibly educational and will teach you a ton about Linux and OS construction in general. I used to recommend it to everyone I was teaching linux/ Unix too and all the students who actually went through it and completed it now have successful IT careers. 100% an incredibly valuable teaching resource, you will look at all OS’s with new eyes after you’ve built one bit by bit from source by hand.
I did a long LONG time ago. I don’t even remember so I’d say 20 years ago. It was very interesting. I do recommend doing it at least once… well maybe only once actually. If possible do it on a real computer, not a VM, so that you don’t get distracted and feel just a bit of risk. Obviously do NOT do it on your main computer where you have important data, just in case.
PS: I do build some things from scratch, including “big” ones like Firefox. I do it because I can prototype with them by modifying just the bits I need. I do like learning how things are made. That being said I don’t think it’s valuable as an entire system, only on a need to do basis. The true benefit IMHO is the learning, not the running system, so no, not at as a daily driver.
imo, that is like learning a new language you’ll never use – who on earth would search for new employees that can compile their own distro? It’s fun at first, but definitely not useful.
that is like learning a new language you’ll never use
That sounds great, I always wanted to learn Latin and even French, or really every language if I had the time.
new employees
You must be fun at parties. There are reasons to do things besides pleasing the man y’know.
It’s fun at first,
You answered your own question.
Being fun does not make (thing) a necessity let alone useful – there are a lot of useless things that are fun.
The xz backdoor hidden in precooked blobs would like a word with you.
I tried it. Lot of fun and fustration. If You hava spare machine and few weeks to play around, do it. It boosted my knowledge and my skills a lot. I would not use it for daily driver, and never for work.
Documentation is super! If You have to do something by hand, it is one of the best source of info!
By the time I finished, half the system was extremely outdated and probably vulnerable to dozens of RCEs. Somehow I managed to compile KDE, but not Firefox. It always crashed the whole Laptop - 2 GB RAM wasn’t enough.
KDE, Gnome, the kernel, you can compile them without any problems. They’re large and complex but they’re well organized.
X is weird but it can also be compiled fairly easily.
Mozilla stuff is horrendous. There’s no rhyme or reason, it’s hard to find build instructions, half the time they don’t work, when they do the build fails with obscure errors…
All this true and I relate. Firefox is a beast. Compiling browser is a pain. Don’t even tought to do KDE. I put together the ui with some suckless tools and had fun with them. Security, stability are a constant question with a system like this. Not a daily driver, used to gain a deeper knowladge. It is like bivaking behind the grandarents house in the foresst: uncomfortable, adveture, goodway to test Yourself and the gear, still have cookies. Not preparation for the alien zombies in the Amazonas.
Yeah, for me it just showed me how nice a customly installed distro is, and how fast it can be even on an old machine, so it was the first to get Arch installed on. Another Laptop followed, then my main PC, Server and finally the PI.
Haven’t tried LFS yet but I have had my share of compiling custom Arch kernel (basically just making it smaller and boot a little bit faster), or cross-compiling various stuff for embedded and having to crawl through some of the lower level stuff.
It might be that time of a year to give LFS a try now that you mention it.It’s definitely on my Linux bucket list. I’ve been kinda thinking about making a distro myself (specifically because I want to try some unusual and niche things in terms of system layout and package management), and that would be a good starting point.
Did it for shits and giggles once back in 2006. I think everyone serious about learning Linux at a “pro” level should go through the process at least once, even if the system gets wiped afterward in favor of a more usable distro. Teaches you what the standardized core components are and what they do, and gives you a clear understanding of how Linux is structured. That knowledge will carry on over to other distros and will make it much, much easier to troubleshoot issues with your system if you know how the parts of that system work.
For those unaware or who never used it, it has a huge setup guide with copy/pastable commands to guide you through each step. They don’t just give you a pile of source code and tell you “good luck”.
I did it back in 2020 when we all had nothing better to do. Got as far as installing X11 and Openbox, and halfway through setting up the toolchain for Firefox.
It was fun - the kind of fun digging a big hole is. It’s not for everybody, but I sort of enjoyed it.
I got through some of it then life got busy. It was a good and interesting experiences. I didn’t finish with a fully functional hand crafted artisinal home desktop, though.
I did LFS some years back, but only enough to get to a basic working system. It eventually devolves into doing similar steps to compile each piece of software, which after you’ve compiled a bunch of packages already kind of becomes repetitive. The path of getting there is pretty fun though, it’s a lot of reading and I learned a lot… including that I’d never want to maintain a system like that.
Good learning experience though.
The consensus seems to be: go for it for the learning experience.
I would agree. It’s useful to know all the parts of a GNU/Linux system fit together. But the maintenance can be quite heavy in terms of security updates. So I’d advise to do it as a project, but not to actually make real use of unless you want to dedicate time going forwards to it.
For a compiled useful experience gentoo handles updates and doing all the work for you.
Gentoo’s USE flags are fuckin’ amazing.
Has anyone here ever tried punching themselves in the dick repeatedly?
Yes, I tried installing arch before.
I did it during the gcc 3 transition. I used a very new gcc 3 (maybe even pre-release), which wasn’t at all recommended. A couple of (most?) C++ packages didn’t compile (some change having to do with namespace scope), which meant I had to fix the source of some packages (generally pretty trivial changes, usually having to prepend
namespace::
to identifiers). Overall this problem was pretty rare, like it affected less than 1% of C++ files, but with things like Qt or Phoenix (or whatever Firefox was called back then), with thousands of files, I had to fix dozens of things. I guess running into problems made it more interesting and fun actually.Did I learn anything? The main thing I learned is about all the different basic packages and what sort of binaries and libraries are included in them and why you need them. Also about some import config files in
/etc
. And a bit of shell experience, but I dare say I knew most of that stuff already. How much you learn depends a lot on how much you already know.Overall what I learned was not very deep knowledge, nor was it a very time-efficient way to learn. But it was a chill learning experience, goal-oriented and motivating. And it made me more comfortable and confident in my ability to figure out and fix stuff.
Also it’s obviously not practical to keep that up to date, so I switched back to a distro after a couple of months of this.
I found it was useful for learning bits and pieces of the extra knowledge around working on a Linux system. Yeah, you’re not going to learn how a kernel works or how anything about data structures. But you will learn how to apply a patch, be exposed to a lot of work with the shell, and come to appreciate the work that goes into a modern distro.