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

Raspberry Pi 3 Model B (model-3b) · avance · Schéma : IMG-model-3b-avance-1-model3b-boot-sd-usb-recouvrement.svg — chaîne de boot du Pi 3B : ROM du SoC, bootcode.bin et start.elf sur la partition FAT de la microSD ou du disque USB, bit OTP program_usb_boot_mode activé une fois pour toutes

Objectifs

Comprendre la chaîne de boot du Raspberry Pi 3 Model B (ROM du SoC → fichiers sur partition FAT → noyau Linux), démarrer sur un disque USB de masse, et savoir remettre une carte en état après une image corrompue. Particularité du 3B : pas de boot EEPROM mise à jour (contrairement aux 3B+/4) ; le boot USB existe mais le démarrage sur hôte est désactivé par défaut et s'active par un bit OTP permanent.

Matériel

Code complet

# 1) Démarrer sur SD, puis activer le boot USB (OTP PERMANENT, irréversible)
echo 'program_usb_boot_mode=1' | sudo tee -a /boot/firmware/config.txt
sudo reboot
sudo vcgencmd otp_dump | grep 17:   # doit afficher 17:3020000a
# Penser à retirer la ligne de config.txt après le redémarrage.

# 2) Copier le contenu de la SD vers le disque USB
sudo apt install -y rsync
sudo rsync -aax --exclude '/dev' --exclude '/proc' --exclude '/sys' \
     /media/$USER/rootfs/ /media/$USER/usbdrive/
# Adapter /etc/fstab du disque (root=PARTUUID...) puis éteindre proprement.

# 3) Tester sans SD : le Pi doit booter sur l'USB.

# 4) Recouvrement : carte SD illisible ou config.txt cassée
#    a) dépannage léger : monter la partition FAT sur le PC, éditer config.txt,
#       retirer dtoverlay/over_voltage suspects, rajouter « initramfs » si besoin
#    b) solution radicale : réécrire Raspberry Pi OS avec Imager,
#       puis restaurer la partition home depuis une sauvegarde.

Vérification attendue

Après activation OTP, vcgencmd otp_dump | grep 17: renvoie 17:3020000a et le Pi démarre sur l'USB sans aucune carte SD insérée. La LED d'activité du disque clignote au boot. En cas de config.txt volontairement cassée (mauvais dtoverlay), le montage de la partition FAT depuis un ordinateur permet de corriger le fichier et de redémarrer normalement — le Pi revient à la vie sans réécriture.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels