You press the power button. A second later a wall of text scrolls by, or a logo fades in, and eventually Linux appears. What happens in between is not magic. It is a careful handshake between tiny programs and a very literal CPU. This part follows that handshake until the very first line of C code inside the Linux kernel runs.
↫ 0xkato’s blog
Exactly what it says on the tin.

This is a good summary, and brings back the “old days”.
If you have done any low level work with DOS interrupts, assembly, or embedded programming, it would be very easy to understand. I however cannot put myself in the shoes of a novice to evaluate this. Maybe some diagrams could be helpful?
All nice but a bit system specific centric.
Bootstrapping may be a bit obscure to many, but it is quite documented. The process spans quite a bit of disciplines, but at the end of the day each processor defines how it starts up. The system usually has some code hardcoded, that ends up starting somo bootcode (that is already programmable) that sets up the minimal hardware to actually boot into an OS of choice.
There is also the caveat of hardware discovery and initialization. This is the realm of BIOS/ACPI in the case of “standard” PCs. In the SoC ARM world that role is dealt with by a devicetree, which, AFAIK is derived from work done for Open Firmware to fulfill an equivalent role to that of ACPI.