Skip to main content

Le problème de l'approvisionnement

Après avoir construit votre image, chaque nouvelle carte doit être personnalisée - avec des paramètres tels que le nom d'hôte, les clés SSH, la configuration ou l'enregistrement du backend.
Faire cela manuellement pour des dizaines ou même des centaines d'unités (CM5) n'est tout simplement pas pratique. Raspberry Pi Compute Module 5 (CM5) n'est tout simplement pas pratique.

C'est là qu'intervient rpi-sb-provisioner intervient - un cadre flexible d'automatisation du premier démarrage pour les appareils Raspberry Pi appareils.

Comment rpi-sb-provisioner Fonctionne

Lors du premier démarrage, le système lance automatiquement rpi-sb-provisionerqui :

  • lit un fichier de configuration du provisionnement
  • exécute des scripts pour appliquer les paramètres du système
  • écrit les données d'identité de l'appareil (numéros de série, informations d'identification, certificats, etc.)
  • marque l'achèvement du processus d'approvisionnement

Ainsi, chaque appareil est configuré de manière unique et prêt à être déployé, sans intervention manuelle.

Installation

Suivez le guide d'installation officiel à l'adresse suivante : https://github.com/raspberrypi/rpi-sb-provisioner

Configuration

rpi-sb-provisioner comprend une interface graphique de configuration simple, basée sur un navigateur.
Pour l'ouvrir, exécutez la commande suivante dans un terminal :

xdg-open http://localhost:3142

À partir d'ici : 1 :

  1. ouvrez le menu Images et téléchargez votre fichier .img (créé à l'aide de la commande rpi-image-gen).
  1. Ouvrez le menu Options pour configurer les paramètres de provisionnement, tels que la famille de périphériques cible ou l'image de base à utiliser.
  2. La configuration résultante est stockée dans /etc/rpi-sb-provisioner/config et peut ressembler à ceci :
CUSTOMER_KEY_FILE_PEM=
CUSTOMER_KEY_PKCS11_NAME=
GOLD_MASTER_OS_FILE=/srv/rpi-sb-provisioner/images/deb12-arm64-ix-base.img
PROVISIONING_STYLE=naked
RPI_DEVICE_BOOTLOADER_CONFIG_FILE=/srv/rpi-sb-provisioner/bootloader_config_files/bootloader-gpio17.naked
RPI_DEVICE_EEPROM_WP_SET=
RPI_DEVICE_FAMILY=5
RPI_DEVICE_FIRMWARE_FILE=/lib/firmware/raspberrypi/bootloader-2712/latest/pieeprom-2025-10-17.bin
RPI_DEVICE_LOCK_JTAG=
RPI_DEVICE_RETRIEVE_KEYPAIR=
RPI_DEVICE_STORAGE_CIPHER=aes-xts-plain64
RPI_DEVICE_STORAGE_TYPE=emmc
RPI_SB_PROVISIONER_MANUFACTURING_DB=/srv/rpi-sb-provisioner/manufacturing.db
RPI_SB_WORKDIR=

Utilisation

  1. Par exemple, si vous utilisez un ordinateur officiel, placez le cavalier J2 pour désactiver le démarrage de l'eMMC. Raspberry Pi Compute Module 5Par exemple, lors de l'utilisation d'un CM5 officiel, réglez le cavalier J2 pour désactiver le démarrage de l'eMMC.
  2. Connectez le CM5 à l'hôte de provisionnement via USB. Le processus de provisionnement démarre automatiquement.
  3. Une fois le provisionnement terminé, retirez le cavalier et connectez une alimentation électrique - l'appareil démarrera alors à partir de l'eMMC.

Réglage du cavalier pour rpi-sb-provisioner

Avantages

  • Mise en service entièrement automatisée des appareils
  • Configuration cohérente pour toutes les unités
  • Intégration facile avec les systèmes de fabrication ou les API d'arrière-plan
  • Reproductible - pas de réglages manuels ou d'incohérences entre les appareils

Extension du processus

Le flux de travail de l'approvisionnement peut être étendu pour inclure :

  • des appels API pour enregistrer les appareils auprès de services dorsaux
  • la génération de certificats pour le démarrage sécurisé ou le cryptage
  • Validation du matériel ou tests fonctionnels avant l'activation

Avec rpi-sb-provisionerle provisionnement devient une étape intégrée dans votre pipeline de construction et de déploiement - et non une réflexion après coup.