I think that Gentoo or even Arch would provide pretty close to the same education level, though, with a lot less time to install.
I think that Gentoo or even Arch would provide pretty close to the same education level, though, with a lot less time to install.
LFS is just on a whole different level, and is on my bucket list to complete the entire process one day.
As an addendum, you have to do it for your actual working computer, otherwise, doing it on a VM or a machine you don't use, you won't be learning nearly as much as there is no pressure to make it truly work for you (this is where learning happens, when the thing you wanted to configure, and LFS docs or web docs are out of date on, so you have to dig deeper).
Like, yes you get pretty familiar with autotools, sed, and patch. However, a lot of LFS is in fact just managing disk partitions and moving files around.
LFS also glosses over a lot of pretty important parts like kernel configuration.
The docs from both Gentoo and Arch, on the other hand, are much more complete and practical in explaining things and also troubleshooting problems. And at the end of the process you're left with a system that can be easily maintained.
LFS is harder, but that doesn't really mean you end up learning more. Especially since it's pretty easy to lose focus and just rely on copy/pasting the next command to run.
Edit: Just an example of what I mean.
Here is the LFS discussion of filesystems.
https://www.linuxfromscratch.org/lfs/view/stable/chapter02/c...
And here is the same Gentoo discussion.
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Dis...
That's where you end up learning a lot about linux which is particularly practical. Other Linux distros, especially for the desktop, hide a lot of this information behind nice guis.
[1] https://wiki.archlinux.org/title/General_recommendations
it only takes three commands to install Gentoo
cfdisk /dev/hda && mkfs.xfs /dev/hda1 && mount /dev/hda1 /mnt/gentoo/ && chroot /mnt/gentoo/ && env-update && . /etc/profile && emerge sync && cd /usr/portage && scripts/bootsrap.sh && emerge system && emerge vim && vi /etc/fstab && emerge gentoo-dev-sources && cd /usr/src/linux && make menuconfig && make install modules_install && emerge gnome mozilla-firefox openoffice && emerge grub && cp /boot/grub/grub.conf.sample /boot/grub/grub.conf && vi /boot/grub/grub.conf && grub && init 6
that's the first one
https://web.archive.org/web/20230601013339/http://bash.org/?...
It looks like nowadays the handbook says just go from stage 3, which makes sense - compiling everything was kinda stupid :D
[1] https://web.archive.org/web/20041013055338/http://www.gentoo...
No idea how long it would take.
One week later I finally saw my new desktop!
I learnt a hell of a lot with Gentoo - only had a dvd and the magazine it came with stepping through the stage 1 install process. No internet connection to search for answers when things went wrong. Not my current daily driver but definitely some good memories!
> cfdisk /dev/hda
Kids those days. You need to _boot_ first in a system which has those utilities. Also hda is from last century but, it is good for learning why.
It was super neat when I got it running for a while, but young me that did it really didn't understand the concept of "Ok, but now you need to upgrade things". That was some of my first experiences with the pain of a glibc update and going "ohhh, that's why people don't run these sorts of systems".
This will lead to a lot of learning. /s
Apprentice: Ubuntu, Fedora
Journeyman: Arch, Debian, Gentoo
Master: Linux From Scratch
Write your entire system definition once and never again.