Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



I'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.


What 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".


It’s in the post, can’t you read? Also, something being low-level has nothing to do with documentation.


You broke the site guidelines badly in this thread. That's not cool, and we've had to warn you about this kind of thing many times over several years:

https://news.ycombinator.com/item?id=36316027 (June 2023)

https://news.ycombinator.com/item?id=36316001 (June 2023)

https://news.ycombinator.com/item?id=29959753 (Jan 2022)

https://news.ycombinator.com/item?id=28375317 (Sept 2021)

https://news.ycombinator.com/item?id=28375312 (Sept 2021)

https://news.ycombinator.com/item?id=28200716 (Aug 2021)

https://news.ycombinator.com/item?id=27157863 (May 2021)

https://news.ycombinator.com/item?id=26976826 (April 2021)

https://news.ycombinator.com/item?id=25129057 (Nov 2020)

We have to ban accounts that do this and I don't want to ban you, so if you'd please stop doing this, that would be good. Please stick to HN's rules no matter how provocative another commenter is being or you feel they are being.

https://news.ycombinator.com/newsguidelines.html


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


You'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. 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".


Please 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 and taking the intended spirit of the site more to heart, we'd be grateful.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: