Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm not sure if this is an ARM thing or this is just a "convention" for modern smart devices. When talking about Android based devices people always talk about flashing ROMs or flashing firmware.

Now I am not just talking about Android since many of these devices can run true linux distros as well. I'm mainly talking about generic devices such as the Pivos XIOS. The way you "install" Linux though is to "flash" a linux ROM.

From what I've always been taught about boot processes is that first your boot device order is stored in the BIOS (or some NVRAM). If we are booting from the hard drive we look at the first 512 bytes on the disk and read the MBR\Partition table. We then jump to the active partition and read the PBR which then loads the kernel and OS. In the case of EFI we simply look for the EFI_SYSTEM_PARTITION and jump to that. These devices are unbrickable. If you screw up your MBR or even partition table you can always boot from USB and reinstall the OS.

From flashing phones I know that these ARM devices are brickable. If you fail to flash a recovery in some devices you may be unable to get back in to flash another one\another ROM.

Also what is the "firmware" people talk about flashing? In BIOS based systems we rarely flash true firmware (the BIOS itself).

So my questions are is the boot process different on these devices because they are ARM based or is this an entirely new model of booting things. Is the future moving away from EFI\BIOS and more toward "ROMs" and brickable devices?

share|improve this question
Technically you flash install Android to a smart phone also. It seems you know the difference between x86 and ARM bootloaders. – Ramhound Mar 6 '14 at 12:03
No I don't know the difference, hence me asking. I know how x86 does it but I don't know how ARM does it. So the whole flashing bootloaders concept is an ARM thing I take it – dfasasdasdf Mar 6 '14 at 12:17
Each device is different and has different hardware ( ARM is designed to be modular ) which means you have to loaded which devices exist on the device on the drivers required to do so – Ramhound Mar 6 '14 at 12:19
Yes but how does the boot process work? It doesn't seem to be looking for storage device X and then reading an MBR on Sector 0. – dfasasdasdf Mar 6 '14 at 12:31
Besides how the devices are load the process isn't really different. The major difference is the bootloader and the loading of the drivers for the devices that exist unique to the device. – Ramhound Mar 6 '14 at 12:35

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.