Mise à jour du micrologiciel du périphérique via fwupd

Version : 2.4.3
Dernière mise à jour : 23/07/2025

Présentation

L'objectif de ce guide est de décrire comment configurer les mises à jour du micrologiciel fwupd compatibles avec l'UI ChromeOS.

Organigramme fwupd

Arrière-plan

fwupd est un daemon Open Source qui effectue les mises à jour du micrologiciel des périphériques et d'autres systèmes sur les systèmes basés sur Linux. fwupd est le mécanisme par lequel ChromeOS met à jour le micrologiciel des périphériques.

Les charges utiles de mise à jour fwupd se composent de fichiers .cab stockés dans le service Linux Vendor Firmware Service (LVFS). Sous Linux, les mises à jour fwupd peuvent être largement disponibles une fois qu'elles sont importées sur LVFS. Toutefois, pour que les mises à jour soient disponibles dans ChromeOS, l'équipe ChromeOS doit les valider et les ajouter à une liste d'autorisation séparément afin de garantir une expérience utilisateur optimale.

Processus fwupd

Les informations suivantes ne s'appliquent qu'aux périphériques certifiés WWCB pour lesquels des échantillons ont été envoyés à Allion.

Si la version actuelle de fwupd dans ChromeOS ne prend pas encore en charge le périphérique, suivez les instructions fournies dans le cas d'utilisation 1 et le cas d'utilisation 2. Si la version actuelle de fwupd dans ChromeOS est déjà compatible avec le périphérique, passez à l'exemple d'utilisation 2.

Cas d'utilisation 1 : La version actuelle de fwupd pour ChromeOS n'est pas compatible avec le périphérique

La version actuelle de fwupd dans ChromeOS n'est pas compatible avec le périphérique.

image

  1. Les ODM et les OEM doivent travailler directement avec les fournisseurs de chipsets pour envoyer les modifications de plug-in dans la base de code fwupd.

    1. Consultez le manuel d'intégration fwupd (deuxième étape : utiliser fwupd).
    2. Modifications apportées aux plug-ins : exemple 1, exemple 2
    3. VIDs:PIDs correspondant dans le fichier .quirk : exemple 3
      • Si le périphérique USB est compatible avec le plug-in existant, vous pouvez suivre la spécification DS20.
    4. Faites fusionner les modifications de plug-in et de quirk résultantes par les responsables de fwupd.
    5. Attendez la version officielle de fwupd (par exemple, 1.8.4), notez la version.
  2. Les versions de fwupd sont régulièrement mises en miroir dans ChromeOS et suivent le calendrier des versions de Chromium.

  3. Si vous envoyez des modifications de plug-in, des corrections de bugs ou des modifications de fichier de bizarrerie après la date limite de gel des fonctionnalités d'une prochaine version de Chromium, mais que les modifications sont de haute priorité pour la prochaine version de ChromeOS :

    1. Accédez à l'outil de suivi des problèmes des partenaires.
    2. Connectez-vous avec votre compte de domaine Google Partner.
    3. Cliquez sur le bouton Create Issue (Créer un problème) dans le menu de gauche pour créer un bug dans votre composant (ChromeOS > External > WWCB > PERIPHERAL OEM > fwupd). L'équipe ChromeOS est ainsi alertée et peut mettre à jour la version de fwupd dans ChromeOS.

      Indiquez les informations suivantes dans le bug :

      1. Titre du bug :

        [PRODUCT NAME - fwupd]: New Plugin NAME OF THE PLUGIN requires fwupd X.Y.Z version uprev
        
      2. Description du bug :

        1. Numéro de version fwupd qui inclut les modifications apportées au plug-in :
          • Quelles fonctionnalités ajoute-t-il ?
          • Quels bugs ont été corrigés ?
          • Quels sont les appareils compatibles ?
        2. Marque/Modèle de l'appareil
        3. VID, PID
        4. GUID (identifiant unique global)
      3. Exemple de capture d'écran :

        capture d'écran du bug de mise à niveau de fwupd

  4. Le bug sera trié, et la version sélective de fwupd sera intégrée à ChromeOS par les ingénieurs Google.

  5. La version mise à jour de fwupd sera promue dans le canal Canary une fois la liste des modifications approuvée.

    • Laissez un commentaire sur le bug pour savoir quelle version de ChromeOS contient la version mise à jour de fwupd. Vous pouvez également utiliser CL Finder pour rechercher la version de compilation dans la Console Partenaire ChromeOS (CPCon) (nécessite un compte de domaine partenaire Google Corp. Veuillez contacter les TAM pour accéder à la CPCon).

Cas d'utilisation 2 : La version actuelle de fwupd sur ChromeOS est compatible avec le périphérique

La version actuelle de fwupd dans ChromeOS est déjà compatible avec le périphérique et un nouveau micrologiciel est disponible.

image

  1. Créez un fichier .cab.

    Tous les micrologiciels sont importés sous forme d'archive cabinet. En plus du fichier binaire du micrologiciel, le LVFS s'attend à ce que l'archive contienne au moins un fichier .metainfo.xml qui décrit l'appareil cible et le micrologiciel. Vous pouvez créer des archives cabinet à l'aide de gcab (bibliothèque permettant de créer des fichiers cabinet) sous Linux.

  2. Importez la mise à jour du micrologiciel testée et finale (fichier .cab) sur LVFS.

    1. Assurez-vous que la mise à jour est disponible sur la télécommande stable.

      S'il est disponible sur le dépôt distant privé, sous embargo ou de test, il ne sera pas ajouté au miroir ChromeOS.

    2. Mises à jour marquées comme validées dans LVFS via un rapport signé.

      Assurez-vous que les tests de l'appareil sont ajoutés.

    3. Si c'est la première fois que vous importez un micrologiciel, assurez-vous qu'au moins deux micrologiciels,le micrologiciel de base (pour tester la rétrogradation) et le nouveau micrologiciel (pour tester la mise à niveau), sont disponibles dans le dépôt stable de LVFS.

  3. La mise à niveau du micrologiciel doit être testée sur ChromeOS à l'aide d'un rapport signé.

    1. Importez des certificats sur le LVFS pour associer le DUT à votre compte.

      1. Connectez-vous à LVFS avec votre compte.
      2. Cliquez sur l'icône "Personne" en haut à droite ou sur https://fwupd.org/lvfs/profile{:.external}.
      3. Cliquez sur Paramètres du profil.
      4. Localisez le certificat client sur votre Chromebook.

        • Remarque : Le Chromebook doit être en mode développeur.
        • Lancez le shell du développeur ChromeOS en appuyant sur Ctrl+Alt+t.
        • Type :

          shell
        • Accédez à /var/lib/fwupd/pki :

          cd /var/lib/fwupd/pki
        • Copiez le fichier client.pem dans un dossier de votre Chromebook, par exemple : Downloads.

          cp client.pm /home/chronos/user/MyFiles/Downloads/
    2. Cliquez sur le bouton Importer un certificat dans la section Certificats clients du site Web LVFS, puis importez le certificat.

      1. Répétez ces étapes sur chaque Chromebook que vous utilisez pour les tests (vous pouvez importer plusieurs certificats pour différents ordinateurs).
    3. Testez la mise à niveau et importez les rapports signés via le DUT.

      1. Pour tester et importer des rapports, exécutez les commandes suivantes et authentifiez-vous lorsque vous y êtes invité.

        fwupdmgr refresh
        fwupdmgr update
        fwupdmgr report-history --sign
      2. Remarque : Si vous avez déjà importé des rapports sans l'indicateur --sign, vous pouvez utiliser fwupdmgr report-history --sign --force pour réimporter le même rapport dans le LVFS.

        fwupdmgr report-history --sign --force
        • Vous pouvez transmettre --verbose pour afficher la réponse du serveur.

          fwupdmgr report-history --force --verbose
      3. Cliquez sur Oui dans la boîte de dialogue de confirmation.

        • Le rapport signé devrait alors être importé dans votre compte.
        • Pour confirmer, accédez à https://fwupd.org/lvfs/dashboard et cliquez sur Signed Reports (Rapports signés) dans la section Home (Accueil) en haut à gauche.
    4. Vérifier que la version du micrologiciel sur LVFS comporte des rapports signés

      • Recherchez le périphérique sur LVFS.
      • Si le rapport signé importé a été généré après la mise à niveau de la version du micrologiciel sur le périphérique à l'aide d'un Chromebook, la section Testé par affichera la version de ChromeOS, la version de fwupd et l'entité. Voir un exemple
      • Assurez-vous que la mention Release Gating (Contrôle de la publication) est accompagnée d'une coche verte et de la mention "Disponible pour les utilisateurs de ChromeOS".
    5. À partir de M126, les mises à jour du micrologiciel ne seront disponibles pour les utilisateurs de ChromeOS que si le micrologiciel comporte des rapports signés (testés avec ChromeOS) sur LVFS.

      • Au bout de 24 heures, les utilisateurs peuvent connecter le périphérique au Chromebook et mettre à jour le micrologiciel via l'interface utilisateur ChromeOS. Accédez à Paramètres > À propos de ChromeOS > Mises à jour du micrologiciel.
      • Remarque : Les mises à jour du micrologiciel seront disponibles si toutes les modifications de plug-in requises sont disponibles sur ChromeOS pour une étape donnée.

Pour en savoir plus sur les rapports signés, consultez LVFS.

Questions fréquentes

Q : Quels Chromebooks sont compatibles avec fwupd ?

Tous les appareils ChromeOS équipés de la version M101 ou ultérieure.

Q : Comment savoir quelle version de fwupd est intégrée à ChromeOS ?

  1. Ouvrez chrome://system dans un navigateur (version 109 ou ultérieure).
    1. Accédez à fwupd_version.
  2. Ou via le mode développeur, la console racine,
    1. Type fwupdmgr --version
    2. Recherchez runtime org.freedesktop.fwupd

Q : Combien de temps prend la mise à niveau fwupd ?

La mise à jour de fwupd suit le calendrier de publication de Chromium. Assurez-vous que la demande de mise à jour de fwupd est envoyée avant la date limite de gel des fonctionnalités de la branche.

Q : Où puis-je obtenir plus d'informations sur le calendrier de publication de ChromeOS ?

Dans le calendrier des versions de Chromium.

Q : Comment passer en mode développeur sur un Chromebook ?

  1. Éteignez le Chromebook.
  2. Appuyez de manière prolongée sur Échap+Actualiser, puis appuyez sur le bouton Marche/Arrêt.
    • Remarque : Sur certains Chromebooks, appuyez sur Échap+ (touche flèche vers la droite), puis sur le bouton Marche/Arrêt.
  3. L'appareil s'allume et l'écran / le mode Récupération devrait s'afficher.
  4. Appuyez ensuite sur Ctrl+d, puis sur Entrée pour accepter.
    • Remarque : Si vous appuyez sur des touches avant Ctrl+d, l'appareil ne passera pas en mode développeur.
  5. L'appareil redémarre, émet un bip et le message "Votre système passe en mode développeur" s'affiche.
  6. Au bout de 30 secondes environ, le message "Préparation du système pour le mode développeur" s'affiche.
  7. Au bout d'un certain temps (entre 10 minutes et plus d'une heure, selon la taille du disque), l'appareil redémarre et affiche l'écran d'accueil habituel.
  8. Pour accéder à l'invite de commandes, appuyez sur Ctrl+Alt+ (flèche vers la droite).
    • Remarque : Sur certains Chromebooks, il s'agit de la touche Ctrl+Alt+Actualiser.
    • Pour revenir à la vue du navigateur, appuyez sur Ctrl+Alt+ (flèche vers la gauche).
  9. Pour en savoir plus, consultez [Mode développeur].

Q : Comment passer d'un Chromebook au mode normal (c'est-à-dire désactiver le mode développeur) ?

Redémarrez votre appareil et appuyez sur la barre d'espace sur l'écran du micrologiciel.

Pour en savoir plus, consultez [Mode développeur].

Q : ChromeOS est-il compatible avec la rétrogradation via fwupd ?

Non. Si la version de production de fwupd ou du micrologiciel est défectueuse, vous devrez supprimer le rapport signé sur https://fwupd.org/lvfs/dashboard. Il est important de tester chaque fois que vous envoyez des modifications de plug-in et/ou qu'un nouveau micrologiciel est disponible. Assurez-vous qu'une version de base du micrologiciel est toujours disponible sur une télécommande stable de LVFS.

Q : Comment savoir quelles versions de ChromeOS seront compatibles avec les mises à jour fwupd ?

Vous pouvez laisser un commentaire sur le bug pour demander dans quelle version de compilation les modifications sont intégrées. Les ingénieurs Google devraient pouvoir vous fournir ces informations. Vous pouvez également utiliser CL Finder pour rechercher la version du build dans la Console Partenaire ChromeOS (CPCon) (nécessite un compte de domaine partenaire Google Corp. Contactez les TAM pour accéder à la CPCon). Vous pouvez faire une référence croisée à la version du build sur le site CPFE (ChromeOS Partner Frontend) pour voir à quelle étape elle correspond.

Q : Comment créer un compte LVFS ?

Consultez la documentation LVFS Obtenir un compte.

Q : Comment importer des fichiers CAB dans LVFS ?

Consultez la documentation LVFS Uploading Firmware (Importer le micrologiciel).

Q : Comment s'assurer qu'un micrologiciel est destiné à un périphérique spécifique ?

Pour ce faire, utilisez le fichier de configuration le plus connu. Pour en savoir plus, consultez la page Best Known Configuration (Meilleure configuration connue) de fwupd.

Q : Comment tester ma mise à jour fwupd avant de l'importer sur LVFS ?

Une fois les modifications du plug-in envoyées et la version sélective de fwupd intégrée à l'image test ChromeOS, vous pouvez accéder à l'image test via ChromeOS Partner Frontend (CPFE) (nécessite un compte de domaine partenaire Google Corp. Contactez les TAM pour accéder à CPFE).

Consultez la documentation LVFS Test du micrologiciel sur ChromeOS. Vous pouvez également exécuter des tests fwupd avec Moblab.

Q : Comment un utilisateur est-il informé qu'une mise à jour du micrologiciel est disponible pour son périphérique ?

L'utilisateur recevra une notification indiquant qu'une mise à jour est disponible en fonction de l'urgence qui lui a été attribuée dans LVFS. Voici le comportement à suivre :

Urgence Comportement des notifications
Faible L'utilisateur ne recevra pas de notification et devra rechercher manuellement les mises à jour.
Moyenne
Élevée
Critique Une notification s'affichera à chaque démarrage jusqu'à ce que la mise à jour soit terminée.

Q : Les mises à jour fwupd sont-elles automatiques ?

Non. Toutes les mises à jour fwupd sont initiées par l'utilisateur et ne se produisent pas au démarrage ni automatiquement.

Q : Quel est l'avantage de la spécification DS20 ?

Actuellement validé uniquement pour les périphériques USB, si vous utilisez le même protocole que sur votre autre matériel, il fonctionnera simplement avec un descripteur DS20.

Les fournisseurs peuvent placer les données du fichier de spécificités dans le descripteur USB plutôt que dans le projet fwupd. Ainsi, lorsque l'appareil USB est inséré, fwupd lit les données du descripteur, fait correspondre le plug-in et énumère l'appareil sans avoir à demander au fournisseur d'envoyer un correctif à fwupd et d'attendre la mise à jour de fwupd.

Q : DS20 est-il une option alternative aux modifications de fichiers de quirks uniquement ?

Oui. La plupart du temps, il suffit d'ajouter les VID et les PID du futur matériel à un plug-in existant, plutôt que de modifier le code. Si des modifications de code sont nécessaires, le fournisseur doit les envoyer à fwupd.

Annexes

  1. Guide du développeur
  2. Assistance aux développeurs
  3. Présentation de Git et Gerrit pour les contributeurs CrOS
  4. Modifier le code source
  5. Processus d'examen/d'approbation Gerrit
  6. Manuel d'intégration de fwupd

Historique des révisions

Date Version Notes
2025-07-23 2.4.3 Mettre à jour le workflow de l'exemple d'utilisation 1
2024-10-18 2.4.2 Mise à jour des images et des étapes du workflow fwupd pour importer le certificat client
2024-07-23 2.4.1 Mise à jour de la mise en forme.
2024-06-26 2.4 Mise à jour du workflow de mise à niveau de fwupd (cas d'utilisation 1).(publié avec la version 2.4.1)
2024-06-17 2.3 Mise à jour du workflow des rapports signés. (publié avec la version 2.4.1)
2024-02-01 2.2 Republication sur une nouvelle plate-forme ; modifications mineures de la formulation.
2023-10-12 2.1 Ajout d'images dans les cas 1 et 2, manuel d'intégration fwupd hébergé sur le site des partenaires
2022-08-14 2.0 Publication initiale du site partenaire