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