3 ms·
The Linux kernel is pretty easy to compile[1], but the first-party documentation for getting Linux to boot is total garbage. It's embarrassingly bad. You end u
by andrewmcwatters 2y ago
The Linux kernel is pretty easy to compile[1], but the first-party documentation for getting Linux to boot is total garbage. It's embarrassingly bad.
You end up reading third-party articles to figure out what the modern approach is to building your own Linux-based operating system, but even then, it's effectively undocumented how you're supposed to get out of a RAM fs from a ISO boot. You're on your own.
I completely reject the premise that Linux From Scratch is the way to do things, as walking through those steps, it's clear there are completely arbitrary steps thrown in, and as a result, it's basically its own distribution.
What I'd like to see is official documentation for:
+ Building Linux (exists)
- Creating an initramfs image (conflicting resources)
- Making a bootable image (conflicting resources)
- Installing the bootloader and Linux to a target disk (no resources available)
You can do the first three easily if you know exactly the right magic incantations, and use GRUB, but then you're once again on your own.
Once you've built Linux, the experience is you get to hold it in your hand and go "this is worthless."
The Linux documentation flips between recommending initramfs and not, and also pointing you to documentation that is so old it's completely irrelevant and should be removed from kernel.org.
I am never surprised the Linux desktop experience has been bad for decades, because no one cares about creating a decent installer process to begin with. You fail right out of the gate, and it makes the entire Linux bazar experience look like amateur hack hour.
[1]: https://github.com/andrewmcwatters/linux-workflow/blob/main/.github/workflows/makefile.yml https://github.com/andrewmcwatters/linux-workflow/blob/main/...
- rcxdude 2y agoWhat is your actual need here? You talk about confusing documentation for a low-level process which basically no user is expected to go through if they aren't exploring the foundations of a linux system, or a developer working on their own distribution, and then complain that this is a lack of "a decent installer process".
- andrewmcwatters 2y agoIt’s in the post, can’t you read? Also, something being low-level has nothing to do with documentation.
- rcxdude 2y agoYou've complained about a lot of things, but I can only guess at what you are actually trying to accomplish, and you explicitly reject solutions which would actually resolve your problem. The first-party documentation for the linux kernel boot process is: https://www.kernel.org/doc/Documentation/x86/boot.txt https://www.kernel.org/doc/Documentation/x86/boot.txt. It's not the kernel's job to get itself into memory and pass it the required information about the system. That's the bootloader's job. If you want to boot linux, either use one of the many existing distributions which package it in an easy to install manner, or read the documentation of your bootloader. If you want a guide on how to combine the linux kernel with other utilities to make a useful OS, read one of the many guides that exist on how to do that. This is why I asked what you actually needed, because for any reasonable goal I can think of, your post reads as "I've deliberately made this as hard as possible on myself".
- andrewmcwatters 2y ago[flagged]
- dang 2y agoPlease don't respond to a bad or provocative comment by breaking the site guidelines yourself. That only makes things worse. Telling someone that they've "complained about a lot of things" or have "deliberately made this as hard as possible on [themselves]" is against HN's rules and guaranteed not to land well, regardless of how right you are or feel you are. Your comment would have been just fine without those bits. If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and taking the intended spirit of the site more to heart, we'd be grateful.
- sevg 2y ago> can't you read Whenever you feel like attacking someone else's reading ability, perhaps take a deep breath and remember this HN guideline: > Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes. Energy might be better spent explaining/defending the points you made. Similar to what the person you're replying to has been doing.
- voltagex_ 2y agoI'll bite. Official documentation from who? For which audience? For which use case? Making a bootable image for what kind of system? My Ryzen PC needs a very different image to my aarch64 router. Where have you not seen info on "installing a bootloader to a target disk"? This is what every distro installer does - this can range from putting a kernel in an EFI partition and setting a variable to building a uboot image and setting variables in NVRAM Lastly, what do you class as a "decent installer process"? Things have moved on from Slackware's installer. You've got everything from the Debian installer (which hasn't changed much) to Anaconda (let's run the install UI in a browser) to Ubuntu Server (everything is a container!) and many things in between.