1. 9
  1. 5

    ANECDOTE: my Linux From Scratch story.

    In the fall of 2006, I was a senior in undergrad working on my capstone project: a LAN party router Linux distro. OOTB, it’d have your standard gateway software – DNS, DHCP, etc. – but then also have some LAN party favorites like a DC++ hub, IRC server, and perhaps eventually a caching proxy. LANCache didn’t exist yet.

    I decided I was going to build it from scratch! Linux from Scratch! So I printed off the LFS book and worked through it, page by page, a couple of hours per day for months. If it was in the book and needed to be on the computer, I typed it. I had a working Linux system by December. I’d not even started on the gateway components much less the LAN party components or a web-based admin for it.

    At the start of my last semester, my advisor showed me a part of the book I’d skipped or not gotten to yet: how to build LFS automatically. I ran it. It took 75 minutes to build what had taken me months. I asked him why he’d let me struggle for so long. He said, “You now know painstakingly the value of automation and you probably know the software running on your computer better than any other student I’ve ever had because you compiled only what you needed and did so manually.” I was enlightened. Zen, man.

    1. 2

      how to build LFS automatically


      1. 2

        Basically. Gentoo to me was more sustainable as a long-term distro in that you didn’t need to manually think about dependencies.

      2. 2

        Nice, so you understood why you were installing all those things and the relation between them?

        1. 3

          For the most part, yes. I remember being rather intoxicated one night when I discovered and extolled the hilarity of it to my roommate and others that the reason libiberty is so named is so that when included on a gcc command line, it’s passed as -liberty.

          1. 3

            heh :) I was pretty miffed to discover the glibc python dependency.

            1. 4

              I can’t find the mailing list archive anymore, but building that distro required making changes to l7-filter to allow it to be built for x86. IIRC, its Makefile was hardcoded for MIPS routers like the Linksys WRT54G. I made the changes and got my first patch into an open-source project! That was a hit with my advisor and professors.

              I’m sad to learn today that L7-filter isn’t around anymore. It’s been replaced wholesale by Netifyd according to the L7-filter site.