🛠 Boot sur SD ou USB et procédure de recouvrement

Raspberry Pi 3 Model B+ (2018) — Fiche carte · avance · Schéma : IMG-model-3b-plus-avance-1-model3bp-boot-sd-usb-recouvrement.svg — Carte avec fente microSD et clé USB branchée, flèches de priorité de démarrage et fichier bootcode.bin en évidence

Objectifs

Comprendre la chaîne de démarrage de la 3B+ : contrairement aux Pi 4/5, elle n'a pas d'EEPROM de boot — le premier étage bootcode.bin est lu sur la partition de démarrage de la carte microSD, et le ROM du BCM2837B0 sait aussi démarrer sur stockage USB et sur le réseau (PXE activé par défaut). Vous saurez écrire une image, basculer SD vers USB, et récupérer une carte dont la partition boot est corrompue.

Matériel

Code complet

# 1. Écrire 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 même 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 réseau) : actif par defaut sur 3B+ (ROM BCM2837B0).
#    Cote serveur : dnsmasq + TFTP avec les fichiers de boot en racine TFTP.

Vérification attendue

Avec l'image gravée, la carte démarre (LED d'activité, SSH joignable). Sans carte SD mais avec la clé USB gravée, elle démarre aussi. Après recouvrement, la LED verte refinit par un motif normal et uname -a répond en SSH. Une LED verte éteinte = pas de bootcode.bin lu ; clignotements réguliers = kernel introuvable.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels