23
votes
Linux from Scratch is one of the best things I ever did.
If you have never built one, you should -- it gives an in depth look at how different parts of linux interact with each other. Some of the methods used are outdated to be sure, but the first system is meant to be minimal, and a good base on which to build. I am lately working on a 'BLFS', and I'm learning even more.
Now, if I could just nail down networking ... ... ...
Any LFS experiences?
For anyone else not aware, Linux From Scratch is the name of a project/book. https://en.wikipedia.org/wiki/Linux_From_Scratch
Homepage http://www.linuxfromscratch.org/ but the wikipedia page provides a clearer overview of what it is.
Oh, I've been trying to work my way up to it, but as an Arch user right now I'm terrified of Gentoo and LFS. I'll probably get to it eventually, but my first go with Arch took me over 10 hours, so I have to imagine I'd be throwing away my weekend with LFS.
Eh fair enough, I'm sure Gentoo is a lot easier than LFS but still it's a bit up there. When I do install it, it'll definitely be in a VM. Part of the scary part of Gentoo though is that as far as I can tell it doesn't have a fantastic wiki like Arch, and isn't the whole thing about Gentoo that you compile everything from source rather than use a package manager?
Before Arch, it was actually Gentoo docs that were the golden standard. I think the eventual crumbling of wikis was what set the Gentoo documentation a bit back at some point. And the rise in popularity of Arch obviously helped its docs as well.
I haven’t done a fresh Gentoo install in years, but I’d say it’s a weekend project to get it compiled and set up to the stage where it’s a usable desktop with everything you need and want and with some initial tweaks and optimisations already in place.
I really like portage and the idea of compiling all software in the system. As computers have become increasingly multithreaded, it also seems to be incredibly less stressful than it was in the past.
The Gentoo handbook is so well-refined over the 15+ years it has been in existence. If you can follow instructions precisely, it should work and the community in the forums are more than eager to help anyone who is following the Handbook to accomplish the task.
Now, in the same breath I'll mention that if you have a UEFI system, it has become so very complicated. There is a good handbook for installing with UEFI and preserving the default Windows installation and that has been thoughtfully prepared, but it is very complicated almost makes you want to throw up your hands. The presence of UEFI and encryption add an entirely more complicated dimension.
I really hate UEFI. I mean, I love what it does in theory, but in practice it's just a huge mess. It's nice that it's a more concrete and unified standard than traditional the traditional PC BIOS, but it's still extremely fragmented and it seems that somehow there are actually more problems with UEFI systems than there were with traditional BIOS based systems. My laptop, for instance, cannot boot Linux without passing special options because the UEFI is not configured properly.
Damn it, my system was built within the last 7 years.
Most computers (I think) have a legacy BIOS mode that you can just use instead if you don't want to deal with UEFI. I don't remember having any problems with it, though.
I didn't compile the entire thing from source following LFS/BLFS, but did something similar-ish with Arch. Even that process is definitely not for the feint of heart, even with the awesome Arch wiki to guide you... and after several days of tinkering I still couldn't get my, admittedly overkill, multi-monitor setup to work properly. As a result I ultimately settled on just installing Manjaro KDE with i3-gaps also installed because "it just works" without any headaches... but I am really glad I tinkered with Arch, since I learned a lot about partitioning, file systems and the various Linux components in the process. Maybe one day when I feel competent enough with Linux I will give the real LFS process a try... but it's honestly a pretty big ask to devote that much time to installing an OS, especially when in the end you may not even end up with a fully functioning one. :P
I really dig that set up! Is that an ideapad?
Thanks, I dig it too and am pretty happy with it thus far. The only problem with it is that in future it will be impossible to go with less monitors, having experienced how awesome 4 of them (one being ultrawide) are. :P
And not an ideapad, technically, but very close... good guess. It's a y70.
Around 2003 I was seriously considering going the LFS way and switch from my trusty Slackware. Luckily I got hands on a Gentoo 1.4_rc2 image and decided that installing gentoo from Stage1 was a good enough approximation to LFS and kept it as my main distro for well over a decade.
Currently I’m running NixOS, which on one hand seems closer to LFS, but on the other hand further from it.
For me, Gentoo was a great excursion into figuring out how things work together in a GNU/Linux system, and I imagine that with LFS that is even more the case. My hat’s off to whoever went through that manual set up.
How hard is NixOS to get into?
I would very much not recommend it for a newbie. It breaks some LSB where it needs to break it in order to do what Nix(OS) needs. But if you have some working experience with GNU/Linux administration and don’t mind occasionally battling with quirks, it’s a very fun distro.
On the other hand I very much would suggest Gentoo as a newbie distro, providing you have time and want to learn how GNU/Linux works. Perhaps nowadays that role is filled with Arch, but I have zero experience with it.
Over the years I've spent weeks at a time trying just to get single drivers or programs working correctly, even with extant documentation and a relatively helpful and knowledgeable community. The thought of having to do that with even more fundamental aspects of the OS is... not enticing.
While I'm sure I'd learn a fair bit, I'd rather place various appendages in a vat of acid than go through the stress and frustration of things not working even though you've followed the instructions to the letter, then scrubbed everything and started from scratch again a dozen times just in case only to find out that the problem is the kernel won't acknowledge IO from the left half of your model of keyboard if you sneezed during the previous Wednesday.
Oh I thought this was about writing it in that programming language for kids
Cool! Just after I finally decided not doing it on my vacation...