Skip to main content

Raspberry Pi CM5 Boot Image eMMC
Problèmes d'installation du logiciel système

Introduction Problème

Pour un nouveau projet, nous avons décidé d'utiliser le site Raspberry Pi Compute Module 5 (CM5) comme plateforme matérielle.

J'ai reçu un kit de développement comprenant

  • Compute Module 5 (4 GB RAM and 32 GB eMMC)
  • 27W USB-C Type-C PD Power Supply
  • Compute Module 5 IO Board
  • Antenna Kit
  • Compute Module 5 IO Case
  • 2 x HDMI® to HDMI® Cable
  • Cooler for Compute Module 5
  • USB-A to USB-C Cable.

Module de calcul 5 IO Case

Objectif

Pour simplifier le développement, j'ai voulu exécuter le logiciel système (raspiOS) à partir d'une carte microSD, puisque le site Compute Module 5 IO Board comprend un emplacement pour carte microSD.

J'ai utilisé Raspberry Pi Imager pour flasher le dernier Raspberry Pi OS sur une carte microSD, j'ai inséré la carte dans la fente de la carte IO et j'ai mis le système sous tension.

Cependant, au lieu de démarrer le système d'exploitation, l'écran affichait un message de type terminal disant "SD : card not detected", et le système ne démarrait pas.

Cause et effet

Après quelques recherches, j'ai trouvé l'explication dans la documentation du Raspberry Pi pour la fonction Compute Module 5:

  • l'emplacement pour carte microSD (à utiliser uniquement avec les variantes Lite sans eMMC ; les autres variantes ignorent l'emplacement)

Cela signifie que le slot microSD n'est utilisable que sur la variante "Lite", qui n'inclut pas de stockage eMMC embarqué. Mon CM5 a 32 Go d'eMMC, donc l'emplacement SD est désactivé et ignoré pendant le démarrage.

Méthode correcte d'installation du logiciel système sur un CM5 avec eMMC

Pour installer le système d'exploitation sur un CM5 avec eMMC, suivez les instructions officielles pour l'installation du système d'exploitation sur un CM5 avec eMMC. setting up the IO Board.

Une étape cruciale consiste à placer un cavalier sur l'en-tête J2 de la carte IO. Le CM5 passe ainsi en mode de démarrage USB, ce qui permet à votre PC hôte d'accéder à l'eMMC comme à un périphérique de stockage de masse.

Carte IO du module de calcul 5

Problème avec rpiboot et la solution

Sur ma machine de développement (Ubuntu 22.04), j'ai d'abord essayé d'installer rpiboot avec :

sudo apt install rpiboot

Cependant, cette version ne fonctionnait pas correctement, probablement parce qu'elle était obsolète ou incompatible avec CM5.

J'ai donc dû compiler rpiboot à partir des sources. Suivez les étapes ici :

Clonez le dépôt officiel :

git clone --recurse-submodules --shallow-submodules --depth=1 https://github.com/raspberrypi/usbboot
cd usbboot

Installez les dépendances et construisez :

sudo apt install git libusb-1.0-0-dev pkg-config build-essential
make

Exécutez rpiboot

avec le CM5 connecté et le cavalier J2 en place :

sudo ./rpiboot -d mass-storage-gadget64

Le système détectera l'eMMC du CM5, et vous pouvez maintenant flasher le système d'exploitation dessus en utilisant Raspberry Pi Imager ou dd.

Résumé

  • L'emplacement SD du CM5 ne fonctionne que sur les variantes Lite (sans eMMC).
  • Pour flasher un CM5 avec de l'eMMC, vous devez :
    ** Mettre en place le cavalier J2.
    ** Utiliser rpiboot pour exposer l'eMMC via USB.
  • Si le rpiboot fourni ne fonctionne pas, construisez-le à partir des sources.

Une fois que c'est fait, vous pouvez flasher le Raspberry Pi OS directement sur l'eMMC comme s'il s'agissait d'une carte SD.