System Initialization >>> What is the proper order of system initialization stages on most x86-based systems? >>> Linux for Developers
The system starts with BIOS, then moves to GRUB, and then starts first user process, init.
This is the initial ram filesystem, which contains essential drivers for hardware and filesystems.
This is the compressed Linux kernel.
One can either have different options in the menu, or add one at run time
One can have a multiple boot system, with multiple versions of Linux, Microsoft Windows, etc
One can change many parameters that the system starts with
SysVinit goes back many years and systemd is the most recent