🛠 Boot sur SD ou USB et procédure de recouvrement
Objetivos
Comprender la cadena de arranque de la 3B+: a diferencia de los Pi 4/5, no tiene una EEPROM de arranque — el primer nivel bootcode.bin se lee desde la partición de arranque de la tarjeta microSD, y la ROM del BCM2837B0 también sabe arrancar desde almacenamiento USB y desde la red (PXE activado por defecto). Aprenderá a escribir una imagen, cambiar de SD a USB y recuperar una tarjeta cuya partición de arranque esté corrupta.
Material
- Tarjeta tipo Raspberry Pi 3 Model B+ + fuente de alimentación de 2,5 A
- 1 microSD (8 GB+) y/o 1 llave/disco USB alimentado
- Otro ordenador con Raspberry Pi Imager (o Etcher/
dd) - Lector de tarjetas USB para la recuperación
Código completo
# 1. Ecrire une image (depuis le poste de travail)
imager write --device /dev/sdX raspberry-pi-os-lite.img # ou Imager graphique
# Verifier le device AVANT : lsblk ; dd efface sans prevenir.
# 2. Boot USB : la 3B+ tente le microSD puis le stockage USB.
# Graver la meme image sur la cle ; retirer la carte SD pour forcer l'USB.
# 3. Recouvrement d'une partition boot corrompue :
# - monter la partition FAT sur le poste de secours
sudo mount /dev/sdX1 /mnt
# - restaurer uniquement les fichiers de boot (kernel + bootcode.bin)
sudo cp -n /mnt-recouvre/boot/* /mnt/ 2>/dev/null || true
# - ou réécrire bootcode.bin / start.elf depuis une image propre
sync && sudo umount /mnt
# 4. PXE (boot reseau) : actif par defaut sur 3B+ (ROM BCM2837B0).
# Cote serveur : dnsmasq + TFTP avec les fichiers de boot en racine TFTP.
Verificación esperada
Con la imagen grabada, la tarjeta arranca (LED de actividad, SSH accesible). Sin tarjeta SD pero con la llave USB grabada, también arranca. Tras la recuperación, el LED verde termina con un patrón normal y uname -a responde por SSH. Un LED verde apagado = no se lee bootcode.bin; parpadeos regulares = kernel no encontrado.
Errores frecuentes
- Escribir la imagen en /dev/sdX1 (partición) en lugar del disco completo: la tabla de particiones se destruye.
- MicroSD falsificada o desgastada: arranque aleatorio, corrupción — pruebe con
f3o una tarjeta nueva de marca. - Creer que hay una EEPROM:
rpiboot/recuperación de EEPROM no se aplica a la 3B+; la recuperación se realiza mediante los archivos de la partición de arranque. - Llave USB que consume demasiado: el presupuesto total de los 4 puertos USB es de 1,2 A; un disco de 2,5" sin alimentación externa hace caer la tensión.
- Dejar el antiguo /etc/machine-id duplicado en decenas de imágenes clonadas: ejecute
sudo systemd-machine-id-setupdespués de clonar. - Apagar durante una escritura en SD: la corrupción proviene la mayoría de las veces de aquí — utilice
sudo poweroff.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython