Live data from Hacker News

The Linux Boot Process: From Power Button to Kernel

0xkato.xyz

61–70 of 96 posts

Re: The Linux Boot Process: From Power Button to Kernel

#61
post #55
post #35

It's a weird article for me. On one side it is an interesting topic. On the other hand why are we explaining what a hex number is? Who is interested in this level of detail but doesn't know hex? Maybe I'm overanalyzing. At the same time this doesn't address my biggest open question on the topic - how do we get from the physical push to the reset vector? Somehow that magic works in HW, physics and electronics - how?

HN is not just read by IT professionals. And they might be a bit curious about Linux startup without necessarily recalling what they know or never knew about hexadecimals.

It's fine to explain things to people that are not into that topic. But I also wonder what the target audience is. On one hand, he explains what a hexadecimal ist, but then jumps over essential information needed to understand the boot process. It's like: "Learning to swim: This is water, it is wet, if you jump in you sink and in water you cannot breath. Then you start moving your body parts and then you swim."

Re: The Linux Boot Process: From Power Button to Kernel

#64

UEFI is an interface implemented by firmware (literally, Unified Extensible Firmware Interface), it's not the firmware itself. Saying "it starts the machine" is a bit of a nomenclature faux pas. The firmware starts the machine, you talk to the firmware via UEFI. This post skips all the interesting things in the modern firmware dance. Not the least of which is when you call ExitBootServices() you're already in long mo…

firmwares are the real IoT nobody talks about that that actually happened. infinite little computers and code churning away from view. and not being updated.

next 'snowden leaks' will have that word on every page.

Re: The Linux Boot Process: From Power Button to Kernel

#65

Kinda missing the point of UEFI if you don't mention that it skips the first 3 sections and allows your kernel to boot directly from 64-bit mode ("long mode") with paging, a framebuffer, and a function to read files from your boot drive, already set up for you. Removes the need for GRUB entirely.

This. I haven't seen or touched GRUB or BIOS in about a decade.

Re: The Linux Boot Process: From Power Button to Kernel

#66
post #11

Earlier quoted context omitted.

It's not a dependency for Linux boot at all. You can do well with serial port alone, as anyone who brought up eg. an ARM SoC in Linux will attest to. Also it's not very interesting either. At simplest, Linux just needs to take a pointer to a beginning of a framebuffer and some metadata, and will write to the framebuffer whenever there's something to update.

Maybe not linux specifically, but POST requires a video device software (BIOS Option ROM or UEFI GOP Drivers) of some sort does it not? That's been my experience with all PCs for 30 years. But maybe there are cases where it doesn't? edit : Apparently it's a desktop motherboard firmware thing. Ubiquitous but not technically a requirement for POSTing a computer.

It was sorta required by IBM PC compatibles, but is not required by UEFI which supports serial console (or other interfaces).

IBM PC assumed existence of graphic output and sometimes Option ROMs did really too crazy things with it, I still have shivers when I hear "intel raid card" because of that one with possibly Win3.x in ROM...

Re: The Linux Boot Process: From Power Button to Kernel

#67
post #4

Video device initialization is intimately intertwined and a dependency for all this early boot stuff. I was hoping to learn more but it's not even mentioned. Still, neat.

Only on IBM PC because it essentially always assumed presence of either MDA or CGA, and over time evolved to assume presence of VGA.

UEFI does not require at all and supports and UI framework to enable work in both graphical and textual (with so-called VT-UTF8) mode.

Re: The Linux Boot Process: From Power Button to Kernel

#69

UEFI is an interface implemented by firmware (literally, Unified Extensible Firmware Interface), it's not the firmware itself. Saying "it starts the machine" is a bit of a nomenclature faux pas. The firmware starts the machine, you talk to the firmware via UEFI. This post skips all the interesting things in the modern firmware dance. Not the least of which is when you call ExitBootServices() you're already in long mo…

firmwares are the real IoT nobody talks about that that actually happened. infinite little computers and code churning away from view. and not being updated. next 'snowden leaks' will have that word on every page.

Worse is how little information exists on firmware or how development for firmware works.

Its certainly not something regularly taught in higher education.

Re: The Linux Boot Process: From Power Button to Kernel

#70
post #34
post #11

Earlier quoted context omitted.

It's not a dependency for Linux boot at all. You can do well with serial port alone, as anyone who brought up eg. an ARM SoC in Linux will attest to. Also it's not very interesting either. At simplest, Linux just needs to take a pointer to a beginning of a framebuffer and some metadata, and will write to the framebuffer whenever there's something to update.

If you would like to see an actually "interesting" boot, I recommend checking out how Raspberry Pi's boot. It is a unique monstrosity that boots from the video / GPU core instead of one of the ARM cores. It has an arcane undocumented architecture.

When I realized that, after buying my first Rpi (2B), that was the last Rpi I ever bought. :)

Thankfully, pretty much everyone else just uses U-Boot.

Post reply on HN