Remix.run Logo
necovek 6 hours ago

This was probably the best thing I've done to learn the ins and outs of a running Linux system: I think it would be amazing to re-do it with a modern Linux stack (systemd + Wayland), but it can really remove all the "magic" from the full OS implementation for you.

However, I've done it in 1999 and ran that system until 2001 when it became too much of a trouble to recompile everything and battle dependencies manually — note that LFS was not as detailed then either, so many dependencies you had to track yourself, and some were very obscure!

Yes, the time investment was high, but I was a high school student starting college with too much interest in something like this and obviously enough time on my hands (after which I was so "smart" to switch to Slackware, a one-man show where I also ended up having manually compiled versions of "small packages" like XFree86 and GNOME, which I was contributing to: when "GARNOME" showed up, that was a revelation! etc)

So if you can afford it, do it: using Linux will never be the same again!

Alupis 6 hours ago | parent | next [-]

They do offer a systemd version[1], along with a variety of other versions, including Gaming Linux From Scratch (X11 and Wayland), and Automated Linux From Scratch (with a build system)[2]

[1] https://www.linuxfromscratch.org/lfs/view/stable-systemd/

[2] https://www.linuxfromscratch.org/index.html

kwanbix 5 hours ago | parent | prev | next [-]

I actually tried this back around 1999 as well.

At the time, it felt like I was just being told "type this" and "type that", with very little explanation of what anything meant or why it was done one way instead of another.

Maybe after all these years it’s worth giving it another shot? Does it work on a VM?

shevy-java 5 hours ago | parent | next [-]

> Maybe after all these years it’s worth giving it another shot? Does it work on a VM?

I think it works in a VM just fine. I would recommend having some scripts to aid with compilation though. Even simple python scripts should suffice and probably others already did so. For the most part everything compiles well; if you have a few scripts that automate some parts, you could do this on a single weekend or two. It is quite straightforward, the explanations can be copy/pasted for the most part. One should know the basics of *nix very well though.

HPsquared 4 hours ago | parent [-]

Automated Linux From Scratch (ALFS) is that set of scripts:

https://www.linuxfromscratch.org/alfs/

fugalfervor 5 hours ago | parent | prev | next [-]

Yes, you have to supply the curiosity yourself ;)

worksonmine 5 hours ago | parent | prev [-]

Last time I did it in around 2020 the reasoning behind every package, and the meaning of most compilation flags was explained. It was a good experience. Yes it works in a VM. A tip is to create regular clones as checkpoints if you fuck something up along the way.

techjamie 5 hours ago | parent [-]

I did LFS on hardware for advanced operating systems in college. After messing up an early step and having to torch it midway and start over, I made the entire LFS build directory into a local git repo. It was not the best use of git and there are better tools, but it did allow me to revert a mistake later and saved me time. So I call it a success.

shevy-java 5 hours ago | parent | prev | next [-]

Wayland is quite simple actually. Nowhere near as much to configure compared to systemd.

Even systemd can be kept simple - I did this on manjaro.

Either way the power of LFS/BLFS is to adjust the system to your use case.

> it can really remove all the "magic" from the full OS implementation for you.

To some extent. Many things are missing IMO, in particular if you go to BLFS. But for the most part I agree with you - it is great that we have it.

We should extend it though.

> until 2001 when it became too much of a trouble to recompile everything

I use ruby scripts for that, tracking almost 4000 projects. Once gem-coop offers us an alternative to corporate-controlled rubygems.org, my main ruby projects will be republished (I retired in 2024 when RubyCentral tried to force everyone to cater to the new corporate rules as well as disown gem owners after 100.000 downloads).

coldpie 6 hours ago | parent | prev | next [-]

Agreed, I also did it in high school, circa 2005, and it was a fantastic experience. Learning how to build dozens of different projects and see how they all fit together really set me up for my career doing systems programming. I never actually used the system I built (I'm not even sure I got to a graphical desktop) but it was still a fantastic use of a handful of evenings.

xattt 4 hours ago | parent | prev [-]

> note that LFS was not as detailed then either, so many dependencies you had to track yourself, and some were very obscure

Why didn’t you just use Chat GPT to get your answers? /s

In all seriousness, I think the recent growth of Linux has been because information has become so accessible. Instead of having to peruse years of newsgroups posts, you can just ask a question and get an answer (that you should really fact check).