I read tons of things about Android devices, but I did not manage to find an overview about the boot process.
My technical level is okay to fully (really) understand how a PC boots.
What I understand, but may be wrong:
- a device contains a main flash memory. We can insert additional flash memory (aften as Micro SD card) but is not used during boot
- the processor is often embeeded in a SoC (system on chip), with a ROM (or probably a flash too) acting as a BIOS. I wonder if this BIOS is really separated from the main flash
- the main flash contains a Linux kernel, and another part contains the root filesystem. This can be modified by installing a new ROM (which is obviously a misleading name)
- when the device is powered on, the processor executes the BIOS. Which in turn loads the kernel into memory, then execute it. Now this is a somewhat regular Linux system
- during BIOS execution, we can use some buttons to access basic functions. One of them allow to reflash the main memory
If someone provides links to this kind of "basic" informations, I will be really greatfull.
So if all this is right, then a bricked device can just be reloaded with a working ROM? I can then fiddle as I want, at worst I only will have to reflash.
Is there another way to boot this kind of device? For example using a micro SD card loaded with a kernel an filesystem. I presume this is very device dependant, because the BIOS has to support it.
I see there are "soft" and "hard" brinking. What is the difference?