🛠 Boot sur SD, partitions et procédure de recouvrement
Objetivos
Comprender la cadena de arranque atípica del Model B Rev 1 y saber cómo devolver una tarjeta fuera de servicio a un estado operativo. Particularidades: no hay EEPROM ni configuración de arranque OTP, por lo tanto, no hay arranque USB — el ROM del VideoCore carga bootcode.bin directamente en la partición FAT de la tarjeta SD (formato estándar, no microSD). La recuperación se reduce a volver a grabar la tarjeta. Aprenderá a escribir una imagen, a diagnosticar un fallo de arranque mediante los LED y a salvar sus datos antes de volver a grabar.
Material
- Raspberry Pi Model B Rev 1 + tarjeta SD de formato estándar (la única memoria de arranque/root de la tarjeta)
- Lector de tarjetas SD en un PC, imagen de Raspberry Pi OS legacy de 32 bits (Buster)
- balenaEtcher / Raspberry Pi Imager /
dden el PC - Un segundo Linux (o otra tarjeta) para la recuperación de datos.
Código completo
# 1) Ecrire l'image sur la SD depuis le PC (verifier le disque !)
sudo dd if=2021-05-07-raspios-buster-armhf.img of=/dev/sdX bs=4M status=progress conv=fsync
sync
# 2) Diagnostic d'un boot qui echoue (LED verte du Pi) :
# eteinte ou clignotements irreguliers = carte lisible mais image invalide
# clignote normalement puis fixe = kernel charge
# 3) Sauver ses donnees AVANT re-flash : monter la partition root
# sur un autre Linux (la partition 2 est ext4)
sudo mount /dev/sdX2 /mnt && cp -r /mnt/home/pi /salvegarde && sudo umount /mnt
# 4) Recouvrement minimal : reecrire seulement la partition FAT de boot
# (bootcode.bin, start.elf, config.txt) si le rootfs est sain
ls /mnt # doit contenir bootcode.bin, start.elf, config.txt, fixup.dat
Verificación esperada
Tras volver a grabar, el LED verde parpadea de forma regular al iniciar y luego la tarjeta arranca en el escritorio/terminal. lsblk en el Pi muestra la partición root extendida en el primer reinicio. En caso de tarjeta muerta: ningún parpadeo del LED verde, pruebe otra ranura SD y otra tarjeta.
Errores frecuentes
- Intentar un arranque USB: explícitamente no disponible en el Pi original, a diferencia de los modelos recientes con EEPROM.
- Escribir la imagen
.img.xzcomprimida en lugar de la imagen descomprimida (algunas herramientas lo hacen,ddno). /dev/sdXen lugar de/dev/sdX1es correcto paradd, pero una letra de disco errónea borra el PC: verificar conlsblkantes.- Tarjeta SD desgastada: las viejas SD de los Pi 1 suelen fallar; síntomas = archivos corruptos aleatorios, un re-grabado que no corrige nada.
- Modificar
config.txtcon opciones de modelos recientes (overclock extremo): el Pi se niega entonces a arrancar, retire la SD y vuelva a iniciar en un PC para reparar el FAT.
Otros tutoriales para esta placa
- Allumer une LED via le GPIO avec libgpiod
- Lire un bouton poussoir et afficher l'état dans la console
- Premier script Python : faire clignoter la LED
- Variation d'intensité LED avec le PWM matériel (et son piège)
- Lire un capteur I2C (température/humidité) sur le bus 1
- Configurer l'Ethernet 10/100 et piloter le Pi en SSH
Ejemplos de código para esta placa
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython