The Linux boot process, a branching chart. For the most part,
the
levels do not depend on column. LILO does not require EFI, nor does
GRUB require BIOS. EFI and BIOS support are now included in both
bootloaders. Yes, there is some simplification here. EFI is very
featured, but hasn't been commonly exercised to its full extent.
Eventually EFI could possibly replace GRUB/LILO, but that day hasn't
come yet.
I did this because Things have Changed from the last time I really studied this. Back when I started it was BIOS, LILO, and Initd. I never did bother to wrap my head around Grub, mostly because the automatic tools have gotten a lot better so knowing it just to install isn't needed, and I haven't had the right kind of boot problems where I'd learn it through troubleshooting. I've also yet to run into EFI in the wild (I think...). Now that OpenSUSE is actively considering moving over to SystemD and Ubuntu having thrown initd over the side some time ago in favor of Upstart, it's time to revisit.
I'm still fuzzy on SystemD so that's probably wrong.
Pre-Boot
Enviroinment |
|||
BIOS |
EFI |
||
|
|
||
Bootstrap
Environment |
|||
GRUB(v1) |
GRUB(v2) | (E)LILO | |
|
|
|
|
Kernel Load |
|||
|
|||
UID
1 process |
|||
Initd |
Systemd |
Upstart |
Launchd |
|
|
|
|
I did this because Things have Changed from the last time I really studied this. Back when I started it was BIOS, LILO, and Initd. I never did bother to wrap my head around Grub, mostly because the automatic tools have gotten a lot better so knowing it just to install isn't needed, and I haven't had the right kind of boot problems where I'd learn it through troubleshooting. I've also yet to run into EFI in the wild (I think...). Now that OpenSUSE is actively considering moving over to SystemD and Ubuntu having thrown initd over the side some time ago in favor of Upstart, it's time to revisit.
I'm still fuzzy on SystemD so that's probably wrong.
You could add a horizontal bar similar to the Kernel Load line between the BIOS/EFI row and the bootloader row. Either leave the bar empty as simply a way to indicate that the columns above don't directly feed into the column below, like you said, or label the bar as "Bootloader".
Nice chart.