BIOS loads GRUB from the ISO. GRUB finds the multiboot entry, loads the kernel into memory at 1 MiB and jumps to the assembly entry point, which sets up a 16 KiB stack and calls into C with the multiboot magic and info pointer. From there the init sequence runs in a fixed order: GDT, IDT, PIC, PIT, keyboard, physical memory manager, paging, then the RAM filesystem. Hardware interrupts are switched on and the shell takes over.