🛠 Boot sur SD, USB, et récupération d'une carte muette
Objectifs
Maîtriser le démarrage du Raspberry Pi 2 de bout en bout : graver une image, comprendre le bootloader à partition FAT (bootcode.bin, start.elf, config.txt — pas d'EEPROM comme sur Pi 4), connaître la limite USB selon la révision (v1.1 : SD uniquement ; les révisions ultérieures peuvent amorcer sur USB), et savoir réparer une carte qui ne démarre plus en éditant la partition boot depuis un PC.
Matériel
- Raspberry Pi 2 Model B (repérer la révision gravée sur le PCB)
- microSD 8 GB+ et lecteur de cartes
- Clé USB (révisions tardives seulement)
- PC avec Raspberry Pi Imager (image Raspberry Pi OS Legacy/Bullseye 32 bits)
Code complet
# 1. Graver l'image (cote PC, ou en ligne de commande)
sudo dd if=2024-xx-raspios-bullseye.img of=/dev/sdX bs=4M status=progress conv=fsync
# (le plus simple reste Raspberry Pi Imager, cible : Raspberry Pi OS 32 bits)
# 2. Preparer la carte sans ecran : SSH + Wi-Fi (dongle) via partition boot
sudo mount /dev/sdX1 /mnt/boot
sudo touch /mnt/boot/ssh
printf '[wifi]\ncountry=FR\nssid="Box"\npsk="motdepasse"\n' | sudo tee /mnt/boot/wpa_supplicant.conf
# 3. Diagnostic après un échec de boot : lire la partition boot depuis un PC
# fichiers cles : bootcode.bin, start.elf, config.txt, cmdline.txt
sudo sed -i 's/ rootwait rw/ rootwait ro/' /mnt/boot/cmdline.txt # lecture seule
# 4. Verifier la chaîne d'amorce sur la carte
ls /mnt/boot | grep -E 'bootcode|start|config|cmdline'
Vérification attendue
Une carte saine affiche l'arc-en-ciel puis le démarrage texte sur HDMI ; la LED verte clignote irrégulièrement pendant l'accès SD. En cas de cmdline.txt corrompu, la modification depuis le PC (montage de la partition FAT) fait redémarrer la carte sans regravure. Sur v1.1, une clé USB reste ignorée au démarrage : c'est attendu.
Erreurs fréquentes
- LED rouge éteinte : alimentation micro-USB insuffisante ou mal enfoncée ; le polyfuse protège mais ne remplace pas un bon chargeur 5 V.
- LED verte figée ou absente : image gravée sur le mauvais périphérique (/dev/sdX erroné) ou microSD morte.
- Tenter d'amorcer v1.1 sur USB : non disponible sur les premières versions ; traiter v1.1 comme SD-only.
- Éditer cmdline.txt avec un retour à la ligne : ce fichier doit rester une seule ligne, sinon le noyau ne démarre plus.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
led_blink.pyPythonbutton_led.pyPythonservo_sweep.pyPythondht_temp.pyPythonoled_i2c.pyPythonmcp3008_read.pyPython