🛠 Premier boot : Bullseye legacy, rails 3,3 V et ordre des alimentations
Objectifs
Faire démarrer un CM1 pour la première fois avec le bon système et sans le griller. Deux pièges majeurs : (1) les images récentes Raspberry Pi OS Bookworm ne bootent plus sur le CM1 — son SoC BCM2835 est ARMv6 et n'est plus supporté, il faut une image Bullseye en version legacy ; (2) l'alimentation : le CM1 et son IO Board se nourrissent en 3,3 V sur les broches d'entrée, pas 5 V en direct sur les rails, et la séquence de montée des tensions compte — une rampe en ordre croissant peut déclencher un latch-up. Sur l'IO Board officiel, une seule source 5 V externe est régulée en interne, ce qui règle le problème.
Matériel
- Un Compute Module 1 + IO Board officiel (ou carte porteuse respectant l'ordre de rampe)
- Alimentation 5 V sur le jack/USB de l'IO Board (ou 3,3 V propre sur les broches VDD, jamais 5 V direct sur un rail 3,3 V)
- Carte SD programmée avec Raspberry Pi OS Bullseye (legacy, ARMv6)
- Console série sur l'IO Board
Code complet
# Graver une image Bullseye legacy (ARMv6) et non Bookworm
# ex. : 2023-05-03-raspios-bullseye-armhf-lite.img
sudo dd if=2023-05-03-raspios-bullseye-armhf-lite.img of=/dev/sdX bs=4MiB status=progress oflag=sync
# Câbler la console série (115200 8N1) sur l'IO Board, alimenter,
# puis vérifier la chaîne de boot :
# Booting Linux ... BCM2835 ...
uname -m # armv6l
Vérification attendue
La console série affiche la chaîne de boot complète jusqu'à login: ; uname -m renvoie armv6l et cat /etc/os-release confirme Bullseye. Avec une image Bookworm, la carte reste désespérément muette après le démarrage des LED — c'est le symptôme classique du mauvais choix d'image.
Erreurs fréquentes
- Utiliser une image Bookworm ou un installeur récent : le bootloader démarre mais le noyau ARMv6 n'existe plus, écran/noyau muet. Reprendre une Bullseye legacy.
- Injecter du 5 V sur une broche d'alimentation 3,3 V : destruction immédiate du module. Toujours passer par la régulation de l'IO Board ou une vraie chaîne 5 V -> 3,3 V.
- Sur carte maison, alimenter les rails dans un ordre croissant inadapté : risque de latch-up du SoC ; respecter la rampe décroissante recommandée (voir le tuto VDD_IO).
- Oublier la console série : sans elle, un échec de boot est indéchiffrable sur un module sans HDMI.
- Carte SD mal gravée : retester avec
sha256sumde l'image et une autre SD avant d'accuser le matériel.
Autres tutoriels pour cette carte
- Flasher l'eMMC du CM1 avec rpiboot et le jumper J4
- Première LED sur GPIO17 : banques, courants et broches réservées
- Servo moteur sur PWM0 (GPIO18) : 50 Hz et 2,5 à 12,5 %
- BME280 sur I2C0 (GPIO2/3) : activer i2c_arm et lire l'ID 0x60
- Caméra officielle sur le connecteur FPC CSI du CM1
- Boot sans EEPROM : fallback USB et bootcode.bin sur eMMC
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash