Como o processo de inicialização do ARM difere do x86?

Como o processo de inicialização do ARM difere do x86?

Não tenho certeza se isso é uma coisa do ARM ou apenas uma "convenção" para dispositivos inteligentes modernos. Ao falar sobre dispositivos baseados em Android, as pessoas sempre falam sobre ROMs ou firmware flash.

Agora, não estou falando apenas do Android, já que muitos desses dispositivos também podem rodar verdadeiras distros Linux. Estou falando principalmente de dispositivos genéricos como o Pivos XIOS. A maneira como você "instala" o Linux é "flash" uma ROM do Linux.

Pelo que sempre aprendi sobre os processos de inicialização, primeiro a ordem do dispositivo de inicialização é armazenada no BIOS (ou em alguma NVRAM). Se estivermos inicializando a partir do disco rígido, olhamos os primeiros 512 bytes do disco e lemos a tabela MBR\Partition. Em seguida, saltamos para a partição ativa e lemos o PBR que carrega o kernel e o sistema operacional. No caso do EFI, simplesmente procuramos EFI_SYSTEM_PARTITION e saltamos para ele. Esses dispositivos não podem ser bloqueados. Se você estragar seu MBR ou até mesmo a tabela de partições, você sempre poderá inicializar a partir do USB e reinstalar o sistema operacional.

Pelos telefones com flash, sei que esses dispositivos ARM podem ser bloqueados. Se você não conseguir atualizar uma recuperação em alguns dispositivos, talvez não consiga voltar a atualizar outra ROM.

Além disso, qual é o "firmware" que as pessoas falam sobre piscar? Em sistemas baseados em BIOS, raramente atualizamos o firmware verdadeiro (o próprio BIOS).

Então, minhas perguntas são: o processo de inicialização é diferente nesses dispositivos porque eles são baseados em ARM ou este é um modelo totalmente novo de inicialização. O futuro está se afastando do EFI\BIOS e mais em direção a "ROMs" e dispositivos brickáveis?

informação relacionada