Help me understand Linux

So let me see what I do and do not know about Linux. First the Kernel (Linux OS program) loads and runs the program GRUB2? If not could you give a brief overview of what program is found first, second, third.

The UEFI BIOS runs first it looks at the BIOS boot configuration and loads a boot loader.

For Fedora that boot loaded is grub. Grub reads its configuration, puts up a menu like you see.

grub will load the linux kernel and pass it a command line and initial ram disk image.

The kernel initialise enough of the system to hand control to scripts running in the initail ram disk image.

That script will bring up the user space, starts systemd and services, mount disks etc.
Once its done enough work systemd is told to pivot onto the mounted root disk.

At this point what happens depends what type of system it is, a server, gnome desktop etc.

1 Like

Thanks for the info. I assume a boot loader doesn’t need a OS. I would love to see how one makes that!

The source code for the UEFI BIOS and grub are both available to read.
See this for UEFI https://www.tianocore.org/ and this for grub GNU GRUB - Obtaining GRUB

Adding systemd-boot to this : systemd-boot(7) - Linux manual page

1 Like

Added boot, uefi