🛠 Amorçage microSD, pannes de boot et procédure de recouvrement
Objetivos
Comprender la cadena de arranque muy particular del Model B+ — el ROM del BCM2835 solo sabe arrancar desde la microSD, no tiene memoria EEPROM ni arranque USB — y saber poner en servicio una tarjeta que se ha vuelto inarrancable sin reinstalar: edición de config.txt, shell de emergencia, verificación de los sistemas de archivos.
Material
- Raspberry Pi Model B+ (BCM2835) y su microSD sospechosa
- Un PC con adaptador microSD, Raspberry Pi Imager (o Etcher/dd)
- Imagen de Raspberry Pi OS legacy de 32 bits (Buster o anterior; el ARMv6 ya no está admitido desde Bullseye)
- Pantalla HDMI + teclado útiles para observar los mensajes de arranque
Código completo
# 1) Graver proprement une image (sur le PC Linux)
sudo dd if=2021-05-07-raspios-buster-armhf.img of=/dev/sdX bs=4M status=progress conv=fsync
# 2) Sur la carte : la partition 1 est la FAT « boot » lue par le ROM
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT /dev/sdX
# bootcode.bin, kernel.img, config.txt, cmdline.txt doivent être à la racine
# 3) Shell de secours : sur le PC, ajouter init=/bin/sh à la fin de cmdline.txt
# (enlever « init=... » existant), booter, changer le mot de passe, retirer la ligne
sudo passwd root
# 4) Réparer une partition root encrassée après une coupure brutale
sudo touch /forcefsck && sudo reboot
# 5) Carte muette : tester une autre microSD, vérifier l'alimentation 5 V, et
# regarder la LED d'alimentation (rouge) — le B+ n'a pas de LED d'activité
# séparée fiable selon les révisions.
Verificación esperada
Con una tarjeta sana, el LED rojo se enciende y la pantalla muestra la secuencia de arranque y luego el indicador de inicio de sesión. El shell de emergencia (init=/bin/sh) proporciona un acceso root directo: mount -o remount,rw / y luego passwd permiten recuperar el acceso. Después de eliminar la línea y reiniciar, el sistema vuelve a la normalidad.
Errores frecuentes
- Intentar un arranque USB o de red: imposible en BCM2835, no hay EEPROM ni modo de recuperación como en Pi 3/4/5 — solo la microSD arranca.
- Grabar por error una imagen reciente (Bullseye+): el ARMv6 ya no está admitido, el arranque falla silenciosamente; usa una imagen legacy.
- Modificar cmdline.txt manteniendo dos parámetros init=: el kernel los ignora o falla, deja solo un init.
- Tarjeta SD desgastada: las corrupciones repetidas después de fsck significan «basura»; las microSD tienen una vida útil limitada, cámbialas antes de culpar al sistema.
- LED rojo que parpadea o se apaga: subvoltaje (polifuse), cambia la fuente de alimentación antes de cualquier diagnóstico de software.
Otros tutoriales para esta placa
- Allumer une LED depuis la GPIO 17 avec libgpiod
- Lire un bouton et afficher les appuis dans la console
- Premier script Python : faire clignoter la LED
- Variation d'intensité d'une LED avec le PWM matériel (GPIO18)
- Interroger un capteur I2C (BME280) sur le bus du 40 broches
- Mettre le B+ en réseau par Ethernet et piloter en SSH
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython