Best stories

Live mirror
30 storiesupdated 0s agoView source snapshot
  1. Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations(github.com/arnegiacomo ↗)
    169comments
  2. I can't stop thinking about Papua New Guinea(notnottalmud.substack.com ↗)
    415comments
  3. 25 years of mass surveillance is enough(schneier.com ↗)
    277comments
  4. XCancel service is suspended until further notice(xcancel.com ↗)
    1009comments
  5. Steam Frame starts at $1059(steampowered.com ↗)
    615comments
  6. iOS 27, iPadOS 27, and macOS 27(apple.com ↗)
    823comments
  7. Dario, Please(rdi.sh ↗)
    298comments
  8. Introducing System One Models and Jev(typesafe.ai ↗)
    197comments
  9. OpenAI bots knew about the RubyGems caching vulnerability(tenderlovemaking.com ↗)
    413comments
  10. Pion, an agent designed to run any company autonomously(andonlabs.com ↗)
    584comments
  11. US confirms for first time it has deployed space weapons(bbc.com ↗)
    295comments
  12. A single firm is behind OpenAI, Anthropic, and Meta hacking scandals(effort.news ↗)
    141comments
  13. Suspected sabotage causes major Netherlands rail disruption(bbc.com ↗)
    380comments
  14. Apple's Dimensional Drawings(developer.apple.com ↗)
    131comments
  15. Linux from Scratch(linuxfromscratch.org ↗)
    109comments
  16. How to write an effective software design document(refactoringenglish.com ↗)
    139comments
  17. Distributed Systems Classics (2017)(nvartolomei.com ↗)
    73comments
  18. An Update on Wayback Machine Access(blog.archive.org ↗)
    175comments
  19. Nike exits the S&P 100 after 18 years and a $200B market-cap wipeout(fortune.com ↗)
    427comments
  20. Java 27(openjdk.org ↗)
    277comments
  21. Charts built for Chat(dbtcharts.com ↗)
    89comments
  22. Let's make quality the norm again(forbrukerradet.no ↗)
    291comments
  23. The case against JPEG XL(giannirosato.com ↗)
    377comments
  24. Ubuntu 26.10 completes transition to Rust-based coreutils(omgubuntu.co.uk ↗)
    295comments
  25. XCancel suspended "due to a new development in the ongoing legal proceedings"(xcancel.com ↗)
    1comments
  26. The contagion of fear(dtrace.org ↗)
    189comments
  27. A beginning for mathematics(daniellitt.com ↗)
    146comments
  28. Show HN: Capsule – Single-file web apps that save their data into SQLite(withcapsule.app ↗)
    113comments
  29. Microsoft patches Windows and Excel – breaks audio, remote access, and paste(theregister.com ↗)
    177comments
  30. Gemini 3.8 Live and 3.8 Live Extended Thinking(blog.google ↗)
    171comments

Linux from Scratch

350 pointsby 19h agolinuxfromscratch.org
109 comments
18h agoHN ↗

From the news page:

Bruce Dubbs - 2026/09/01

The Linux From Scratch community announces the release of LFS Version 13.1.

17h agoHN ↗

I did LFS once, a long long time ago (days of RedHat 7.3, I'd say, 2002), and it was quite educational! It's a good way to learn the fundamentals of what comprises an actual Linux system

17h agoHN ↗

You can tell it's written by real Linux users because the landing page UX doesn't make it immediately obvious where to even start reading.

17h agoHN ↗

it's like their brain is unaware of the concept of a timeline

11h agoHN ↗

So Linux users are by definition, eternal.

17h agoHN ↗

Took me half a second to realize I would probably start with "LFS :: Linux From Scratch is the main book, the base from which all other projects are derived."

16h agoHN ↗

You mean the link to a page which _also_ doesn't have the main book?

10h agoHN ↗

It's a link to the project page for the main book and it does a good job of explaining itself and the available resources. I guess the biggest issue is it's not immediately obvious the left navigation menu changes between the project and subproject landing pages.

17h agoHN ↗

... At the top? You're expected to read all of it! :)

16h agoHN ↗

My journey was: Start off by clicking LFS among the links, and then "Read online" in the sidebar, and then being lost. I see a header, "Current Stable" but I can't see the link to the actual book. I only see the errata, the security advisory and a link labelled... stable LFS systemd? Maybe it's that one? Yes, yes it is.

9h agoHN ↗

Idk what to tell you if the “welcome to Linux from scratch” header wasn’t enough of a hint

9h agoHN ↗

I thought the parent comment was missing something obvious too but if you click the top link in that section, it’s a page describing LFS but without linking to its content. Then I clicked the “Read online” link on the menu on the left, but the top links are errata and security advisories and then the main link. Not the worst navigation I’ve seen but the parent comment does have a point.

13h agoHN ↗

Interesting project. Why does it use LLVM toolchain when it already builds gcc in an earlier stage?

10h agoHN ↗

LLVM is a much more mature and modern compiler by basically every measure, and importantly, a native cross compiler unlike GCC.

One copy of LLVM can build for many architectures vs needing one GCC toolchain for every architecture you wish to target.

Also modern languages like rust require LLVM so we need it anyway, and the kernel has rust now, so why not make the most mature compiler stack the global default? Using two different compilers for the kernel would be begging for problems.

I am most optimistic for the Fil-C fork of LLVM being a default some day where we get compile time memory safety too.

We do maintain gcc in tree for legacy languages like Fortran though.

8h agoHN ↗

If I understand correctly, I think they build an older version of gcc using tcc (Tiny C Compiler by Bellard); then using that to build newer versions incrementally until they get to the modern stack with LLVM.

17h agoHN ↗

What's the news? This manual has been with us since forever.

17h agoHN ↗

I'm glad to see its still being maintained after more than 25 years since I last used it.

17h agoHN ↗

For a long time (probably 2002-2010) I really wanted to do LFS. But I've been on Gentoo since 2004 which, over the last ~22 years, has probably exposed me to almost everything LFS would have, plus a lot more it wouldn't have. I still wish I'd did it way back when. I probably would stumbled through fewer issues had I.

15h agoHN ↗

I had the same experience. I think the only thing that LFS would add to that experience would be the package-manager-less experience (building without portage's help)

17h agoHN ↗

LFS takes the wrong approach in my opinion. I did it once manually over a couple of days. I suppose I hoped enduring the pain of waiting for the packages to compile would somehow make me smarter. It didn’t. I didn’t learn much. It was like following a baking recipe. I know I need to add eggs and sugar in the ratio it says but I’d be damned if I could tell you why that specific ratio works.

It’s just too much to take in at once. You start by building a cross compilation toolchain but… why? And you add the bootloader dead last, even though it’s the first thing you see when you boot a Linux machine?

I reckon a better approach would be to build it step by step, only adding new things once you’ve discovered a need for them. First you get the bootloader working, then you get it to actually load the initramfs and kernel, etc… you could even create your own extremely simple initramfs first before adding dracut, etc…

This gets you to a system you can boot and play with asap. And then you can slowly start to discover why you actually need all these things through exploration and experimentation.

17h agoHN ↗

I liked KISS for this

It was like automated LFS from git

FreeBSD’s Makefile system is also in this ballpark

17h agoHN ↗

Compiling the packages doesn’t teach much it’s all the glue in between. No? It’s the startup scripts and the configs and creating a kernel and all the things.

It’s on my list of things to do when I have some free time

17h agoHN ↗

I've learned the most from LFS long time ago, when I had no internet. I had a mismatching set of Slackware and redhat source CDs, and LFS itself didn't match the versions on CDs too. Since then I can build anything and anywhere, even if it's not cooperating :)

17h agoHN ↗

You know, you could also just read about each step to learn more. I mean if you feel you're following a baking recipe, you can just... read about it more. And then have LFS as a simple way to experiment if you want to change anything or not. Also, technically you don't need to have a bootloader installed on your main hard drive if you already have it on another disk.

I mean, eh... last time I checked, this was Hacker news. Yesterday, there was an Ask HN topic on how to enable dark mode on HN. Is this the new hacker culture? Complaining that the resources merely point in some direction instead of specifying details?

17h agoHN ↗

I learned a lot doing Gentoo stage 1. I was also following the guide like a recipe, but at the time I hadn't been exposed to the underlying machinery that is often automated, abstracted away, or done for me already. It was also a good test on how well I could follow instructions and later on apply my own customisations. Like lego.

16h agoHN ↗

I second this a thousand million times. But with AI, i can't help but admit i find myself indulging in building things backwards, now that i can try a couple different approaches simultaneously for it.

16h agoHN ↗

As pointed out already, LFS is a cookbook, and you learn most by having an idea about how you want to tune your Linux system.

So at points you want to dive deeper, you do — and go off the beaten path.

It requires a desire not just to understand how bits and pieces fit together, but how you can make them work even better for yourself and what is and is not customizable?

Arguably, even if building it today is easier — back when I did it in 2000, you sometimes struggled to find where the canonical source code of the package is, not to mention compilation errors, linking errors, etc. Only then did you get to configuring the init RC system, choosing between them (no systemd yet), etc.

But a requirement is — IMO — that you are strongly opinionated about how a system should serve you, and look for opportunities to tune it.

16h agoHN ↗

LFS takes the wrong approach in my opinion.

Shameless plug: I started a series of blog posts exactly because this. https://serversfor.dev/linux-inside-out/

Unfortunately due to some cervical spine issues and a surgery I wasn't able to finish it, but I am planning to pick it up and continue.

16h agoHN ↗

Thanks for posting this, I hope you will continue

16h agoHN ↗

This should be said more often, and in many other contexts as well.

Most educational resources are what- and how-based, only the best ones are primarily why-based, what Wirth once wrote in the preface to some Pascal book (I paraphrase) 'discussions are motivated, so that the learner gets coverage and understanding, instead of memorization'.

16h agoHN ↗

I used CLFS (Cross-Linux From Scratch) once to bootstrap Linux on my SGI Indy, and I learned quite a lot from this. That was back in 2008 or so, so way before AI and extensive online guides for almost everything. It taught me how cross compilers work, what dependencies exist in the GNU toolchain, how the SGI boots, and much more.

Too bad Cross-LFS is no longer a thing. Then again, with all these microcontrollers and ARM and RISC-V systems today, cross-compiling is no longer as magic (and tricky) as it was back then...

15h agoHN ↗

I'd like to counter your comment.

LFS helped me a lot. It taught me how to compile packages manually, and how GNU/Linux components fit together.

Armed with that knowledge, I could do things others could not do:

- Make applications that bundle/automatically download their dependencies, compile them with custom flags (static linking)

- Diagnose build errors buried in deep dependencies when using vcpkg

- Compile programs for esotheric systems: e.g: Intel MacOS X 10.5, an obsolete system noone else on earth is using except the company I worked at

- Create application targetting obsolete systems but using the latest version of its dependencies

- Compile recent programs on esotheric systems, by bootstraping a newer gcc on the newer system, patching as necessary

- Create my own stripped down distro, tuned to my specifications

- Use that stripped distro as a docker container

- Run recent linux on obsolete hardware no longer supported by mainstream distros

- Reformat a cloud dedicated server without physical access by first bootstraping a minimal distro on a ramdisk, unmounting the main drive, partitioning that drive, and installing the new distro on that drive. Reboot and pray.

- Build a cross-compiler for targetting a freestanding environment

- Build latest KDE/XFCE for debian stable. No more "but debian ships with outdated software!!11"

- Build applications on a distro they were not designed for (Zimbra OSE on debian)

14h agoHN ↗

None of that requires LFS; I compiled KDE via scripts many years ago. Why would LFS be needed for that? That makes no sense. Debian being slow is their problem, other distributions aren't snail-like like that. The default compiler used in LFS is also hardly a real cross-compiler, it is more a bare-minimum compiler for C/C++. This annoys me because e. g. I need fortran for R, so a bare-minimum compiler isn't as useful as a more feature-complete GCC. And GCC also causes some issues, e. g. like my problem with options.cc.

I think you missed the main argument though - LFS isn't quite as good as it could be. That is a correct statement that was made.

14h agoHN ↗

"Requires"/"needed".

LFS is about the muscle memory; the documentation; the cohesiveness.

I always recommend it to people and consider it foundational to my understanding of How Stuff Works.

Whether that amounts to a hill of beans in the AI world remains to be seen.

14h agoHN ↗

It is more how stuff is compiled than how stuff works.

Fundamental things like how processes are scheduled are not explained by LFS.

7h agoHN ↗

LFS is how the rubber meets the road

Again I disagree. Way too much time is spent building software than actual practical OS development.

3h agoHN ↗

OK: "How *nix tools functioned together in command-line days".

14h agoHN ↗

Learning how to compile packages manually it was a common skill long before Linux came to be, and how GNU/Linux fits together could also easily be learnt with Slackware or Yggdrasil.

13h agoHN ↗

Learning how to compile packages manually it was a common skill long before Linux came to be

Right. I used to compile many open source packages from source on many flavors of Unix back in the day, for years. Perl, Python, MySQL, many others. Miscellaneous utilities. Esoteric languages. Even Oracle, once, on a Unix server, right at a large manufacturing company site. Even building Unix kernels from source was common on some Unix versions. And not just for a regular install. Many times, (re)building Unix kernels from source, was the only way to get some software packages or hardware devices or peripherals, like printers or terminal controllers or even hard disk controllers, to work on the system. Typically you would edit some config files or settings files manually, change values of params, or in some cases use a TUI to do that, and then rebuild via a makefile. You had to save the old kernel in case the new one didn't work, and if so, lather, rinse, repeat, till everything did work.

And that practice was nothing special. A lot if people did it routinely. Most, in fact, I'd say. Talking about devs and sysadmins here, not end users, although some of the latter probably did it too.

Many apps, tools and utilities came as source code, often in a .tar or .tar.gz file. You would untar or gunzip it into a new directory, and do your stuff, running makefiles, other shell commands, setting env. vars., etc.

12h agoHN ↗

I started with Slackware 1.0 on i386.

I certainly do not miss compiling X11!

11h agoHN ↗

As someone who started using Linux in 1996 (Slackware, of course), I learnt the hard way about compiling packages. I remember trying to compile the kernel, and doing "make config" and following hundreds of options, and not knowing that I then needed to do "make" or "make zimage" or "make install" after any of the config stuff. Obvious, dumb, rookie errors, but still understandable for a teenager coming from Windows. Doing LFS really taught me a lot about dependencies and complexity, as well as understanding of the actual boot process. All of this helped me greatly in later years.

6h agoHN ↗

Your experience sounds exactly like mine. I downloaded Linux 2.6 which took 2 days to compile. Then when I installed it on my Slackware system completely hosed it. But learned so much…

9h agoHN ↗

I agree with you. Maybe the person from the first comment read first few pages only which basically give some context.

8h agoHN ↗

For me also helps me to cross compile Nvidia kernel drivers for other version of kernel than running one. Plus compile stripped-down version of X.

All this for running on embedded Linux with 32MB flash drive running from read-only volume powering two kiosk displays.

15h agoHN ↗

And you add the bootloader dead last, even though it’s the first thing you see when you boot a Linux machine?

That actually makes perfect sense. If you did the bootloader first, how are you going to build it? How do you know what to boot from which filesystem on what device? By the time you've got your root filesystem complete, it's easy to tell.

If you do things step by step incrementally, you keep having to go further back in the process. Starting over repeatedly gets tedious, boring and frustrating. And it'll take ages to finish the complete OS.

14h agoHN ↗

Except that if you fail to install the bootloader - which happened to me many times - then you do not have a working system. So really the prior argument makes sense.

IMO the guy is right - LFS could be way better. But it has this current structure and does not deviate from it. That's the bad part.

If you do things step by step incrementally, you keep having to go further back in the process. Starting over repeatedly gets tedious, boring and frustrating. And it'll take ages to finish the complete OS.

Pray tell how that is necessary for the bootloader? The chain used in LFS isn't the only one that makes sense or is required. IMO it would indeed be better to have a system you boot into as quickly as possible, on real hardware, then continue from there.

12h agoHN ↗

If you're going to run the OS, you have to make sure it compiles and runs the bootloader and its installer. The toolchain could be different enough for that to fail. And you do boot into a reasonably small OS and continue from there. That's what BLFS is all about.

7h agoHN ↗

TBH, though, the only lesson you learn from BLFS is that value of package managers.

If you like the idea of everything being purpose built for your computer, then after you do LFS you should switch to gentoo.

13h agoHN ↗

You build it on your non-lfs computer. What is the other option?

And you dont need to boot anything, just a busy loop after a log "Hello World" is enough, if you feel fancy, maybe make a simple shell ?

12h agoHN ↗

You could do that, but if that were to happen to me I'd say the installer sucks and my boss should hire someone else ;)

13h agoHN ↗

Agreed, it's near the end of the Gentoo installation as well. If you forget to install GRUB, just chroot back into it and continue.

If I installed the bootloader first, I'd have to remember to run dracut after the system was installed. Or I install it last, create the init at the same time and make a habit of it.

12h agoHN ↗

Debian and Arch are the same, grub at the end.

15h agoHN ↗

It was like following a baking recipe. I know I need to add eggs and sugar in the ratio it says but I’d be damned if I could tell you why that specific ratio works.

I know a french cookbook[0] which contains not only recipes for dishes, but also for some of the intermediary ingredients, like stocks, that can now be bought at the supermarket. I feel that I’ve learned a lot by following those recipes, be it simply in the structure of french cuisine. And to me, LFS is a cookbook in a similar sense.

[0]: https://www.ferrandi-paris.com/fr/le-grand-cours-de-cuisine-... in French, sorry!

10h agoHN ↗

Tangential, but how good/useful/approachable is the book you cited as example?

How would it compare, in your experience, to other (modern) cooking books with a similar scope?

15h agoHN ↗

I did it once manually over a couple of days.

Sounds like a speedrun of the tutorial. How did you approach packaging then and what system did you use to compile everything?

I did the tutorial in the late 2000s I think and it took me 4-6 months if I remember correctly. At the time I wasn't completely new to Linux but setting up things like the boot loader was quite tricky for me.

For me the main motivation was getting a deeper understanding, being able to fine tune and customize my system. Of course I didn't go blindly through the tutorial but only did steps that I understood. (In case something goes wrong) Also I started to use (x)stow for everything.

14h agoHN ↗

It is possible to do it over a few days really, even with not too much knowledge.

Requiring four months seems as if it was a side project, which is of course totally fine, but for any main task it really should not take more than a few days, even on a semi-slow computer (well, depends on how slow).

7h agoHN ↗

Well as mentioned it was in the 2000s. Compiling KDE alone took several days. Also there was no automation/script, so you really had to go to ftp.gnu.org and look in which folder the coreutils package is ;) I realize there's now a list of packages with checksums

8h agoHN ↗

I did it in a VM took me 20 hours. Most of that time was waiting for things to compile and fixing mistakes I made because I didn't read the instructions properly.

15h agoHN ↗

You need to actually read the book and not just copy and paste commands. Many of the questions you have are answered in the book.

14h agoHN ↗

To some extent I agree with you. I'd like to decouple some parts, e. g. the tutorial part is great but it should ideally be distinct from "just go at it" 1:1. I also fail to compile various things right now, which is frustrating; two or three years ago all went well. The whole LFS build up is too brittle. In part this is due to external complexity, but LFS needs to re-think what it does. It's also sad that they are now systemd-only, which further adds intrinsic uselessness. I don't need anything systemd offers; all my boot up logic is stored in yaml files and autogenerated to target formats via ruby as-is.

14h agoHN ↗

well, if you happen to be in a 'rm -Rf /' situation (which with agentic AI seems to be more often the case) to know how to operate in a chroot environment could be helpful

12h agoHN ↗

I did it once manually over a couple of days. I suppose I hoped enduring the pain of waiting for the packages to compile would somehow make me smarter. It didn’t. I didn’t learn much.

Exactly my experience. Back in the day when all I knew was Windows and a couple of BSDs I wanted to get into Linux, because it seemed like it was going to become very relevant in the next decades. After years of slacking I thought LFS would probably be the ideal choice. Turned out it wasn't, at least for me. I ended up "learning Linux" with distros like Gentoo, Arch and later even Ubuntu, and by just replacing my production systems with Linux, which were still running on OpenBSD mostly. I have revisited LFS a couple of years ago and honestly didn't take much from it. I get the appeal, but it's not for everyone.

10h agoHN ↗

Exactly my experience. I tried LFS several times, but I didn't learn much. I learned more with Arch Linux, but I truly appreciate the work that was put in LFS, marvelous for the right type of learner.

12h agoHN ↗

The step by step is the right approach... but you'll discover that many 'components' are _INSANE_ and that includes their SDK.

Bare LFS is not enough (I run my own): you need a kind of userland (above glibc) multi-version system which some kind of "atomic-ish" switching (always have a stable SSH running in case something goes wrong, better than unplugging the system disk and fix it on another computer).

For linux, same thing, with a kind of flip-flop-ing for updates/fix/etc.

The insight that gives you will probably scare you: the current "open source" stack is an abomination (the worst is the SDKs I think).

That's why we need _LEAN_ open source, and that includes the SDKs.

11h agoHN ↗

If you think that's an abomination, try corporate billed-by-the-hour enterprise software where nothing ever changes unless it's approved by several layers of management.

I promised myself not to work for any of those anymore :)

10h agoHN ↗

Except you can write bootloader only if you have something to boot.

Bootloaders as we know them came after OSes, because the need of a bootloader is to boot something. Following your logic of building a piece only if needed, a bootloader should come after.

I like the recipe analogy and I actually think adding things only if needed will help cutting unuseful features and possibly to have different implementations for solutions you need.

No point in reinvent the whole thing, tho. Following your analogy, if all cakes need egg, there must be a reason even if we don't know it.

9h agoHN ↗

in the bad olden times you definitely started to write your operating system for your new computer from the first instruction executed upwards. it wasn't at all common to have a comprehensive virtualization/simulation environment.

8h agoHN ↗

I can't understand what is the point you are trying to make

8h agoHN ↗

until very recently you couldn't even do OS development without a boot loader, so asserting that that would be the last thing you would write is just nonsensical

7h agoHN ↗

Let me rephrase.

We already have a bootloader.

"Linux from scratch" involves Linux, not Libreboot, not Grub (just to mention instances of BIOS/UEFI and bootloader).

We already have means to test the new OS.

What I meant with my previous post is "newer" bootloader (which are actually pretty old, like grub), came after OSes passed a certain complexity.

Previously we technically had bootloaders, but they were interactive, mostly.

Am I misremembering?

6h agoHN ↗

oh. I'm talking about authoring OS and boot loaders from an absolute blank slate. like starting from the world where you toggled them in from switches, and later by burning proms

7h agoHN ↗

You probably want to use a working bootloader to see if your ‘hello world’ OS-fragment works at all. No one is writing much OS without running it, surely.

7h agoHN ↗

"Linux from scratch" involves Linux, not Libreboot, not Grub (just to mention instances of BIOS/UEFI and bootloader).

We already have means to test the new OS.

There is real point in writing a new one until the OS is complete, is there?

7h agoHN ↗

If you’re satisfied using a third party bootloader, and one exists, there’s no point writing one ever.

7h agoHN ↗

only adding new things once you’ve discovered a need for them.

Agree! imo this is the guiding principle that makes great tutorials great.

17h agoHN ↗

Related. Others?

Linux from Scratch - https://news.ycombinator.com/item?id=46709727 - Jan 2026 (103 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=41747966 - Oct 2024 (159 comments)

Beyond Linux from Scratch - https://news.ycombinator.com/item?id=39547118 - Feb 2024 (17 comments)

Linux from Scratch Version 12.0 - https://news.ycombinator.com/item?id=37648808 - Sept 2023 (28 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=33734685 - Nov 2022 (9 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=30496018 - Feb 2022 (96 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=29949311 - Jan 2022 (9 comments)

Linux from Scratch with Training Wheels - https://news.ycombinator.com/item?id=28820602 - Oct 2021 (41 comments)

Linux from Scratch 10.0 - https://news.ycombinator.com/item?id=24350738 - Sept 2020 (49 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=24238015 - Aug 2020 (86 comments)

Major Proposed Changes to Linux From Scratch - https://news.ycombinator.com/item?id=23787526 - July 2020 (93 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=20168343 - June 2019 (15 comments)

Ask HN: Is the Linux From Scratch project still relevant? - https://news.ycombinator.com/item?id=20149111 - June 2019 (7 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=16823110 - April 2018 (1 comment)

Linux from Scratch Version 8.2 released - https://news.ycombinator.com/item?id=16510333 - March 2018 (2 comments)

Linux from Scratch – build your own Linux distro - https://news.ycombinator.com/item?id=11829373 - June 2016 (57 comments)

Linux from Scratch - https://news.ycombinator.com/item?id=8392057 - Sept 2014 (1 comment)

Welcome to Linux From Scratch - https://news.ycombinator.com/item?id=4488162 - Sept 2012 (71 comments)

Linux From Scratch 7.1 Published - 3.2.6 Kernel + GCC 4.6.2 - https://news.ycombinator.com/item?id=3677350 - March 2012 (13 comments)

Linux From Scratch 7 Released - https://news.ycombinator.com/item?id=3171448 - Oct 2011 (27 comments)

Ask HN: Linux from Scratch.. Should I try it? - https://news.ycombinator.com/item?id=1779665 - Oct 2010 (58 comments)

How to build custom Linux from source code - https://news.ycombinator.com/item?id=743843 - Aug 2009 (1 comment)

17h agoHN ↗

The fastest way to learn and remember what Linux is about

16h agoHN ↗

LFS is really, really bad. Also, reading the Linux kernel documentation to understand how to do it right is infuriating because it too is really, really bad.

16h agoHN ↗

This whole project wastes time that could be spent learning operating system design and it spends it telling users to download files, extract them, and run ./configure; make; make install 100 times.

15h agoHN ↗

I do LFS every year, just to keep the chops sharp. It has been an immensely invaluable means of keeping informed with the way things are rolling in the Linux world.

15h agoHN ↗

Confirmed Linux user with the good ol 2000 web style. Great job!

15h agoHN ↗

Didn't do it for a while, I would benefit from a little refresh.

Is there a Web version running in a VM/container in the browser?

15h agoHN ↗

I kept an LFS system going for a few months (on a wretchedly awful by modern standards celeron “net top”) until eventually making a mess I couldn’t figure out how to untangle during a system upgrade. this gave me the sheer force of will necessary to later do things like own the multiplatform build system for an ocaml based distributed system (mina)

14h agoHN ↗

LFS is great. Unfortunately nowadays I often fail to compile it; most recently with GCC complaining and failing at options.cc. But I also get more issues here.

I kind of need a LFS variant that is more flexible. For instance, the part up to having a working standalone compiler, should ideally become more robust and/or decoupled from the actual LFS build process. Once I have a sane toolchain, the rest is trivial, ruby scripts solve that part for me. But the build up towards that is not so reliable. Things also fluctuate so much in the build process; I still need perl for instance, and python wants to add more and more complexity into the build system as well, even though meson/ninja is a nice combo. For some reason, the build situation on Linux is not very elegant to word this nicely. Then we also "now you need LLVM and glslang and spirv" and so forth, and so on. The complexity always increases. To some extent I can understand why slackware crumbled. How can a single person, even with scripts, keep that all working?

14h agoHN ↗

LFS is worth doing if you are interested in learning how Linux distro is put together. There is a fair bit of reading involved. I did the entire thing in a Debian VM.

13h agoHN ↗

I m very happy I started years ago with Gentoo which is also from scratch but with a package manager ones your system is up ( couple of days). You learn so much just starting from zero and understand choices you can make on that journey. In the end I stopped using it though, way later when the Gentoo hype was over though. Getting stuck into dependency loops wasn't productive anymore.

13h agoHN ↗

I remember using LFS’ predecessors to build 1.44MB “rescue” floppy disks with Linux 2.0 in the 1990s. Tweak the config so it could fit on there along with a small userland. I don’t even remember if busybox was around back then.

It used to be a teenager’s rite of passage to build your kernel config, figure out LILO (remember that, pre-grub!), ipchains.. talk about feeling old!

11h agoHN ↗

Still remember the first time LFS booted. Felt like a true wizard, even if it was just a shell.

10h agoHN ↗

I kind of gained all the benefits of LFS by just maintaining a yocto embedded linux distribution at my first job for a couple of years. Yocto is basically automated LFS, it will compile a cross toolchain then use that cross toolchain to compile everything for your target system.

10h agoHN ↗

That was a weekend project once, absolutely grueling but you learn so much about the OS internals.

9h agoHN ↗

In my experience with Gentoo, the hard stuff is well beyond the base setup: it's getting sound, bluetooth, auto-mounting, etc. setup the way it is in the bigger distros.

9h agoHN ↗

About 4 years after beating my head against the wall trying to learn all about embedded linux builds and reading through yocto docs, I found a course on Udemy titled, "Embedded Linux Step by Step Using Beaglebone Black" It was perfect for walking me through the kernel, file-systems, boot-loaders, etc... It was a bit dated even then and thus required a little leg work to find the proper source versions of linux for the beagle board but I got it all working and cross-compiled a linux distro from scratch for the beagle board, flashed it, booted it and talked to it via serial port. I highly recommend the course.

7h agoHN ↗

For me, BSD and Portage was my intro to "you're gonna need to learn how to compile stuff". But Gentoo Stage 1 was my real intro into how to bootstrap Linux. I had been using it for about 6 years at that point. (RedHat/Mandrake/TurboLinux/Caldera/Slackware/Debian-based stuff) Starting at nothing but a partitioned disk felt crazy. But I learned so much that not much in the Linux realm scares me these days. It made installing Arch back in 2011 a walk in the park.