Création d’un package de mise à jour de microprogramme

Chaque package de mise à jour de microprogramme comprend un fichier binaire unique qui contient la charge utile complète du microprogramme (par exemple firmware.bin) et un catalogue de sécurité que Windows utilise pour valider firmware.bin. Pour plus d’informations sur les catalogues et pilotes de sécurité, consultez Fichiers de catalogue et signatures numériques et Création d’un fichier catalogue pour un package de pilotes PnP.

Les packages de mise à jour de microprogramme doivent être capables de mettre à jour un ou plusieurs des types de microprogrammes suivants :

  • Microprogramme du système UEFI.

  • Microprogramme d’un seul appareil dans le système.

Il est recommandé que chaque package de mise à jour de microprogramme cible une seule ressource de microprogramme (microprogramme système UEFI ou appareil unique), mais il peut exister des circonstances où il est avantageux d’avoir un package de mise à jour de microprogramme unique qui met à jour à la fois le microprogramme système et un ou plusieurs appareils.

Un appareil ne peut pas être ciblé par plusieurs packages de mise à jour de microprogramme. Si un appareil est ciblé par un package de mise à jour de microprogramme qui inclut également le microprogramme système, il ne peut pas être ciblé par un deuxième package de mise à jour de microprogramme qui cible uniquement l’appareil.

  1. Pour permettre à un package de mise à jour de microprogramme de cibler une mise à jour de microprogramme sur le matériel système approprié, Windows expose une instance d’appareil pour chaque entrée dans l’ESRT, où une telle instance d’appareil expose un ID matériel qui l’identifie comme appartenant à l’entrée ESRT.

  2. Lorsqu’un package de mise à jour de microprogramme est installé, il est traité par Windows en tant que package de pilotes. Windows copie la charge utile du microprogramme de chaque package de mise à jour dans un emplacement sécurisé sous le répertoire système, prépare le système à effectuer les mises à jour du microprogramme et déclenche le redémarrage du système.

    Windows ne prend pas en charge les dépendances entre les packages de pilotes. Par conséquent, les exigences suivantes doivent être respectées lors de la création d’un nouveau package de mise à jour de microprogramme :

    • Un package de mise à jour du microprogramme doit être capable d’être installé de manière autonome et sans dépendance vis-à-vis d’autres microprogrammes d’appareil, du microprogramme système ou d’autres packages de mise à jour du microprogramme.

    • Il est recommandé que chaque package de mise à jour cible un seul appareil sur le système ou le microprogramme du système UEFI (défini dans l’ESRT).

    • Chaque package de mise à jour doit contenir un seul binaire de mise à jour du microprogramme (par exemple firmware.bin).

  3. La charge utile de mise à jour du microprogramme dans chaque package de mise à jour doit être contenue dans un seul fichier binaire. Lors du redémarrage du système, le chargeur du système d’exploitation charge chaque fichier binaire de mise à jour du microprogramme pour chaque package de mise à jour du microprogramme dans la mémoire physique et génère un tableau de pointeurs vers chaque fichier de charge utile approvisionné pour l’installation (la spécification UEFI 2.3.1 fait référence à ce tableau en tant que CapsuleHeaderArray).

  4. Ce tableau est passé dans l’appel à la fonction EFI UpdateCapsule(). UpdateCapsule() est utilisé comme boîte aux lettres, passant la charge utile de mise à jour du microprogramme de chaque package de pilotes au microprogramme de la plateforme.

  5. Chaque capsule (charge utile de mise à jour du microprogramme) est identifiée par l’ID de microprogramme spécifié par l’entrée ESRT pour une ressource de microprogramme.

  6. À la réception de chaque charge utile de mise à jour du microprogramme, la demande de mise à jour du microprogramme est traitée et appliquée le cas échéant.

    Chaque entrée de CapsuleHeaderArray est un seul bloc contigu de données contenant la charge utile de mise à jour du microprogramme à partir d’un package de pilotes de microprogramme pour un seul appareil du système. Pour chaque ressource de microprogramme ciblée, la charge utile de mise à jour du microprogramme doit contenir l’image du microprogramme et toutes les informations requises par la plateforme pour la validation.

    La charge utile du microprogramme pour tous les packages de pilotes de mise à jour du microprogramme est passée au microprogramme de la plateforme via le service UEFI UpdateCapsule. Étant donné que les appareils intégrés proviennent de différents IHV, l’OEM du système (et éventuellement le fabricant du SoC) doit travailler directement avec ces IVS pour s’assurer que les mises à jour du microprogramme de l’appareil sont créées de manière appropriée pour le système donné. En outre, l’OEM système doit s’assurer que les entrées ESRT permettent aux packages UpdateCapsule d’être ciblés sur les systèmes appropriés.

    Par exemple, plusieurs fabricants OEM peuvent choisir le même modèle d’appareil haut débit mobile (MBB) pour leurs systèmes. Même si l’appareil MBB est identique dans chaque système, chaque OEM doit collaborer avec l’IHV MBB pour créer un package de mise à jour de microprogramme personnalisé pour son système. Ce niveau de personnalisation de la mise à jour du microprogramme de l’appareil est nécessaire pour traiter les variables sur les systèmes OEM.

    • L’adressage de l’appareil peut différer en fonction du soC choisi par l’OEM et de la façon dont l’appareil est connecté au soC.

    • L’OEM du système peut vendre le système à plusieurs opérateurs de réseau mobile (MMO) pour les revendre aux consommateurs. L’appareil MBB doit prendre en compte MNO, ce qui nécessite que le microprogramme soit à la fois personnalisé et certifié pour répondre aux exigences d’un MNO particulier.

    • Le système peut être vendu sur plusieurs marchés dans le monde entier, chacun avec des réglementations rf et des attributions de fréquences radio différentes. Le microprogramme de l’appareil MBB peut nécessiter une personnalisation pour répondre à ces exigences du marché.

    Chaque OEM doit examiner attentivement ces exigences spécifiques à l’appareil et prendre les mesures nécessaires pour s’assurer que le microprogramme de l’appareil peut être ciblé et mis à jour de manière appropriée. Cela nécessite une gestion minutieuse des entrées ESRT pour garantir que le microprogramme de l’appareil peut être correctement déployé.

  7. Une fois le package de mise à jour créé, il doit être soumis à Microsoft pour certification et signature.

Mises à jour du microprogramme du système et de l’appareil via un package de pilotes de microprogramme

Remplissage de la table ESRT

Personnalisation du microprogramme pour différentes régions géographiques

Certification et signature du package de mise à jour

Installation de la mise à jour