🛠 Remettre une Zero 2 W en état de boot : usbboot et boot files

Raspberry Pi Zero 2 W (2021) — Fiche carte · avance · Schéma : IMG-zero-2w-avance-1-recovery-usb-usbboot.svg — Zero 2 W sans carte microSD reliée à un PC par son port données, outil rpiboot listant un périphérique 0a5c:2711, microSD montée séparément sur le PC.

Objectifs

Maîtriser la récupération d'une carte qui ne démarre plus. La Zero 2 W n'a PAS d'EEPROM : le flux de boot lit OTP puis « bootcode.bin » sur la partition FAT de la SD. Un config.txt erroné = plus d'image ; une SD corrompue = plus rien. Mais la ligne Zero a une porte de sortie : sans SD, elle boote en mode périphérique USB et rpiboot expose alors la microSD comme stockage de masse — on peut tout réparer depuis un PC.

Matériel

Code complet

# 1) Récupération via USB device mode (aucune SD dans la Zero 2 W) :
git clone --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot && make
sudo ./rpiboot
# La Zero 2 W (OTGID flottant) énumère 0a5c:2711 et la microSD interne
# apparaît comme un disque de masse sur le PC.

# 2) Réparer le contenu de la partition boot (FAT) :
sudo mkdir -p /mnt/sdboot && sudo mount /dev/sdX1 /mnt/sdboot
ls /mnt/sdboot          # bootcode.bin, start.elf, config.txt...

# config.txt douteux ? Restaurer une ligne minimale ou retirer l'overlay fautif :
sudo cp /mnt/sdboot/config.txt /mnt/sdboot/config.txt.bak
sudo sed -i 's/^dtoverlay=pas-bon/# dtoverlay=pas-bon/' /mnt/sdboot/config.txt

# 3) Recopier une image neuve par-dessus la carte (dernier recours) :
sudo dd if=2024-*raspberry-pi-os-lite.img of=/dev/sdX bs=4M status=progress conv=fsync

Vérification attendue

Avec « lsusb » on voit « 0a5c:2711 » avant rpiboot, puis un nouveau disque apparaît après lancement de rpiboot : la microSD de la carte est accessible. Après réparation du config.txt et reboot sur la carte, la LED d'activité clignote au démarrage et le SSH revient. Test complet : « vcgencmd versioncheck » confirme des fichiers de boot cohérents.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels