Índice

Secuencia de Bootboot de la Raspberry Pi

El boot (inicio) de la Raspberry Pi es estrictamente idéntico en los diferentes modelos Pi Zero y Rasberry Pi 3. Este proceso de inicio implica un determinado número de operaciones. El correcto entendimiento de esta secuencia es primordial si se intenta modificar voluntariamente el inicio del sistema operativo (iniciar en una llave USB o desde un disco duro). Pero mientras el sistema no arranca, el usuario está en presencia de un enigma que solo el conocimiento del desarrollo exacto de la secuencia de boot permite resolver.

1. Etapa 1: enchufar a la corriente

El siguiente esquema representa las diferentes partes implicadas en el inicio de la Raspberry Pi. A la izquierda está la tarjeta micro SD dividida en dos partes. El SoC integra el microprocesador ARM (CPU) y el procesador gráfico (GPU). Está situado a la derecha, bajo la memoria (SDRAM).

images/4_1.png

Cuando se enchufa a la corriente, solo está activa la GPU. Mantiene la CPU parada. La memoria SDRAM también está desactivada. El SoC contiene una ROM (Read Only Memory), en la que el fabricante ha registrado un programa que forma parte de la cadena de boot. Este programa es el primero de la cadena de boot (bootloader = gestor de arranque). No es accesible para el usuario y, por tanto, no se puede modificar. La GPU ejecuta este primer programa, cuyo único papel es acceder a la partición FAT de la tarjeta micro SD para cargar el archivo bootcode.bin en memoria. Esta partición contiene los siguientes ...