POST vs. UEFI/BIOS Boot Device Detection

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Koofte
Posts: 1
Joined: Sat Sep 05, 2026 5:13 am
Contact:

POST vs. UEFI/BIOS Boot Device Detection

Post by Koofte »

On the Boot Sequence Wiki Page , it says:

This sequence culminates in locating a bootable device, such as a Floppy disk, CD-ROM or a Hard disk in the order that the firmware is configured to.
As I understand it, UEFI/BIOS firmware is responsible for selecting a boot device according to its configured boot order.

So, what exactly separates POST from the rest of the UEFI/BIOS boot process?

Is POST strictly the hardware diagnostics/initialization phase, with boot-device detection happening afterward, or is boot-device detection considered part of POST as well?

I'm trying to understand the distinction correctly before continuing with my OS development notes.
nullplan
Member
Member
Posts: 2041
Joined: Wed Aug 30, 2017 8:24 am

Re: POST vs. UEFI/BIOS Boot Device Detection

Post by nullplan »

Koofte wrote: Sun Sep 06, 2026 5:17 am Is POST strictly the hardware diagnostics/initialization phase, with boot-device detection happening afterward, or is boot-device detection considered part of POST as well?
Typically the former, though it literally doesn't matter to osdev. At some point, your kernel will just spawn in RAM and when it does, it will have no idea how it got there, or what happened before that point. The kernel has to do the hardware discovery and some of the initialization again, anyway, precisely because it doesn't know what the firmware already found out.

So, yeah, I wouldn't worry about this too much. For me, osdev starts from the point when the kernel is in RAM and starts running, and everything before that has ready-made software already present. I know that a lot of people want to start with a BIOS boot loader, but as long as GRUB still exists, this is just a massive distraction from the actually important stuff.

That said, obviously, if you want to write a new boot loader, go for it. I just happen to think that BIOS is a miserable environment to code in.
Carpe diem!
Post Reply