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?

  • @attilag
    link
    6416 days ago

    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!

    • @30p87@feddit.de
      link
      fedilink
      1916 days ago

      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.

      • @attilag
        link
        1516 days ago

        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.

        • @30p87@feddit.de
          link
          fedilink
          616 days ago

          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.

      • lemmyvore
        link
        fedilink
        English
        5
        edit-2
        16 days ago

        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…

        • @30p87@feddit.de
          link
          fedilink
          115 days ago

          Compiling the kernel actually only took 40 minutes on the 13 year old laptop with a Core Duo.

          And the LFS Book has excellent building instructions for all packages, including Firefox. That’s actually only relevant for LFS tho ig.

    • @folekaule@lemmy.world
      link
      fedilink
      2716 days ago

      You haven’t lived until you’ve installed Slackware from floppy disks and compiled the necessary network drivers into the kernel by hand. Good times, but never again.

      • ReallyZen
        link
        816 days ago

        What impressed me at the time was that it worked ; you’d pull huge amount of stuff and then waited in front of a real-life Reversed Matrix full of mysterious hieroglyphs. But Slackware would compile Ardour, Jack, Jamin and whatever else. Yeah it took a while to fetch all the libraries, but then it just did it.

        Last week localsend wouldn’t compile on Arch, and took hours to fail it.

      • @LeFantome@programming.dev
        link
        fedilink
        315 days ago

        I am pretty sure I compiled the kernel once a month back when I had a Pentium 133. Looking back, compiling the kernel must have been a huge chunk of what that machine accomplished.

      • downhomechunk [chicago]
        link
        fedilink
        English
        215 days ago

        I’m a long time slackware user, but I joined the party some time in 99 or 00.

        I never had the pleasure of installing from floppies, but I did compile my own kernels to speed up boot time. Sometimes they would boot, sometimes they wouldn’t. That was part of the fun.

        I’ve been on a retro kick lately. I have a pentium 200 mmx based machine that will eventually run a floppy installed slackware. Or at least it will if I can get it to work.

  • @nbailey@lemmy.ca
    link
    fedilink
    English
    2916 days ago

    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.

  • @1984@lemmy.today
    link
    fedilink
    2816 days ago

    I did it, learned a lot. But it’s not really a system that can be maintained very easily. You don’t even have a package manager. :)

    • lemmyvore
      link
      fedilink
      English
      616 days ago

      Back when I did LFS I dealt with this by giving each package an /opt prefix, symlinking their respective bin/, sbin/, lib/, man/ and so on dirs under a common place, and adding those places to the relevant system integrations (PATH, /etc/ld.so.conf etc.)

      I put together a bash script that could manage the sumlinks and pack/unpack tarballs, and also wrote metadata file and a configure/make “recipe” to each package dir. It worked surprisingly well.

      A handful of packages turned out to be hardcoding system paths so they couldn’t be prefixed into /opt (without patching) but most things could.

      • @pingveno
        link
        English
        9
        edit-2
        16 days ago

        There’s no level of package management, binary or source. There’s no practical way to uninstall or upgrade. It’s a toy for learning about Linux, which is great, but don’t expect it to have anything else.

        Edit: I seem to remember some third party package managers, but then you’re going beyond the base level documentation. And at a certain point, then you might as well just use a distro. If you want to have a very minimal package manager so you can learn about package managers, sure, it’s a learning tool.

  • @Charadon@lemmy.sdf.org
    link
    fedilink
    English
    2416 days ago

    I’ve done it before. It’s not particularly difficult, just very time consuming. And at the end, you’re left with a distribution that’s not really that useful without repackaging everything you did into a package manager so you can do updates without borking it.

    Great as a learning tool to see how the whole GNU/Linux stack works, but not something you’d use practically.

  • TimeSquirrel
    link
    fedilink
    20
    edit-2
    16 days ago

    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. Theres even an automated script from what I remember. They don’t just give you a pile of source code and tell you “good luck”.

  • @Lydia_K@startrek.website
    link
    fedilink
    English
    1516 days ago

    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.

  • @gnuhaut
    link
    14
    edit-2
    16 days ago

    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 important 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.

    • @pingveno
      link
      English
      316 days ago

      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.

  • annoyed-onion
    link
    fedilink
    1116 days ago

    Did it about 10 years ago. Didn’t really understand half of what I was doing at the time but it was a fun way to spend a weekend 😁

  • @HereIAm@lemmy.world
    link
    fedilink
    1015 days ago

    It was a lot of fun for me. I did it without a virtual machine (would not generally recommend) on a older laptop I wasn’t using anyway. I wasn’t very successful in the end however. My own built kernel couldn’t produce any vga output. I tried to fix it for a handful of nights, but in the end gave up and called it good enough :P So I might comeback to it later to fully complete an installation.

    But it was good learning oppertunity. It showed that just compiling a version of the Linux kernel isn’t very complicated. It even comes with a very nice TUI to select your build options!

    • The kernel is what about did me in with a Gentoo install forever and a half ago, that part alone I think I fought with for a week before I got everything working

      Great learning experience though, I agree

  • Brewchin
    link
    fedilink
    English
    715 days ago

    TIL this is a thing. I started doing that over 30 years ago with SLS and Slackware when that was the only choice.

    This was pre-PnP (also pre-JPEG!), so you had to know all the addresses, IRQs, DMA info, etc, of your hardware or you’d get… unexpected results. make it and they will come…

    After countless distros and flavours over the years, I still use Debian for servers and now use EndeavourOS for desktop/laptops.

    • @sudo42@lemmy.world
      link
      fedilink
      English
      1
      edit-2
      15 days ago

      This was pre-PnP (also pre-JPEG!), so you had to know all the addresses, IRQs, DMA info, etc, of your hardware

      Thanks for that flashback. <shiver>