Delen via


Een firmware-updatepakket ontwerpen

Elk firmware-updatepakket bevat één binair bestand dat de volledige nettolading van de firmware bevat (bijvoorbeeld firmware.bin) en een beveiligingscatalogus die Door Windows wordt gebruikt om firmware.bin te valideren. Zie Catalogusbestanden en digitale handtekeningen eneen catalogusbestand maken voor een PnP-stuurprogrammapakket voor meer informatie over beveiligingscatalogussen en stuurprogramma's.

Firmware-updatepakketten moeten een of meer van de volgende typen firmware kunnen bijwerken:

  • De UEFI-systeemfirmware.

  • De firmware voor één apparaat in het systeem.

Het wordt aanbevolen dat elk firmware-updatepakket gericht is op één firmwareresource (UEFI-systeemfirmware of één apparaat), maar er kunnen situaties zijn waarin het voordelig is om één firmware-updatepakket te hebben dat zowel systeemfirmware als een of meer apparaten bijwerkt.

Een apparaat kan niet worden gericht op meer dan één firmware-updatepakket. Als een apparaat is gericht op een firmware-updatepakket dat ook systeemfirmware bevat, kan het niet worden gericht op een tweede firmware-updatepakket dat alleen op het apparaat is gericht.

  1. Om toe te staan dat een firmware-updatepakket gericht is op een firmware-update op de juiste systeemhardware, toont Windows een apparaatexemplaar voor elke vermelding in de ESRT, waarbij een dergelijk apparaatexemplaar een hardware-id beschikbaar stelt die aangeeft dat het bij de ESRT-vermelding hoort.

  2. Wanneer een firmware-updatepakket is geïnstalleerd, wordt het door Windows verwerkt als stuurprogrammapakket. Windows kopieert de nettolading van de firmware van elk updatepakket naar een veilige locatie onder de systeemmap, bereidt het systeem voor om de firmware-updates uit te voeren en het systeem te activeren om opnieuw op te starten.

    Windows biedt geen ondersteuning voor afhankelijkheden tussen stuurprogrammapakketten. Daarom moeten de volgende vereisten worden nageleefd bij het ontwerpen van een nieuw firmware-updatepakket:

    • Een firmware-updatepakket moet zelfstandig kunnen worden geïnstalleerd zonder afhankelijk te zijn van andere apparaatfirmware, systeemfirmware of andere firmware-updatepakketten.

    • Het wordt aanbevolen dat elk updatepakket is gericht op één apparaat op het systeem of op de UEFI-systeemfirmware (gedefinieerd in de ESRT).

    • Elk updatepakket moet één binaire firmware-update bevatten (bijvoorbeeld firmware.bin).

  3. De payload van de firmware-update in elk updatepakket moet zich in één binair bestand bevinden. Bij het opnieuw opstarten van het systeem laadt het besturingssysteemlaadprogramma elk binair firmware-updatebestand voor elk firmware-updatepakket in het fysieke geheugen en bouwt een matrix met aanwijzers naar elk payloadbestand dat is ingericht voor installatie (de UEFI 2.3.1-specificatie verwijst naar deze matrix als capsuleheaderarray).

  4. Deze matrix wordt doorgegeven in de aanroep van de functie EFI UpdateCapsule(). UpdateCapsule() wordt gebruikt als een postvak, waarbij de payload van de firmware-update van elk stuurprogrammapakket wordt doorgegeven aan de platformfirmware.

  5. Elke capsule (een firmware-update payload) wordt geïdentificeerd door de firmware-ID die is gespecificeerd door de ESRT-vermelding voor een firmwarebron.

  6. Na ontvangst van elke payload van de firmware-update wordt de aanvraag voor de firmware-update verwerkt en toegepast, indien van toepassing.

    Elke vermelding in de CapsuleHeaderArray is één aaneengesloten blok met gegevens met de payload van de firmware-update van een firmwarestuurprogrammapakket voor één apparaat in het systeem. Voor elke doel-firmwarebron moet de payload van de firmware-update de firmware-image en alle informatie bevatten die nodig is voor validatie door het platform.

    De payload van de firmware voor alle stuurprogrammapakketten voor firmware-updates wordt doorgegeven aan platformfirmware via de UEFI UpdateCapsule-service. Aangezien geïntegreerde apparaten afkomstig zijn van verschillende IHD's, moet de systeem-OEM (en mogelijk de SoC-fabrikant) rechtstreeks met deze IHD's werken om ervoor te zorgen dat firmware-updates van apparaten op de juiste wijze worden gemaakt voor het opgegeven systeem. Bovendien moet de OEM van het systeem ervoor zorgen dat de ESRT-vermeldingen toestaan dat UpdateCapsule-pakketten worden gericht naar de juiste systemen.

    Zo kunnen verschillende OEM's hetzelfde model Mobile Broadband-apparaat (MBB) kiezen voor hun systemen. Hoewel het MBB-apparaat identiek is in elk systeem, moet elke OEM samenwerken met de MBB IHV om een firmware-updatepakket te maken dat is aangepast voor hun systeem. Dit aanpassingsniveau van de firmware-update van het apparaat is nodig om variabelen in OEM-systemen aan te pakken.

    • Adressering van het apparaat kan verschillen op basis van de SoC die door de OEM is gekozen en hoe het apparaat is verbonden met de SoC.

    • De OEM van het systeem kan het systeem verkopen aan meerdere MNO's (Mobile Network Operators) voor wederverkoop aan consumenten. Het MBB-apparaat moet MNO-bewust zijn, waarbij de firmware zowel moet worden aangepast als gecertificeerd volgens de vereisten van een bepaalde MNO.

    • Het systeem kan in meerdere markten wereldwijd worden verkocht, elk met verschillende RF-voorschriften en radiofrequentietoewijzingen. De firmware van het MBB-apparaat vereist mogelijk aanpassingen om te voldoen aan deze marktvereisten.

    Elke OEM moet zorgvuldig rekening houden met dergelijke apparaatspecifieke vereisten en de nodige stappen ondernemen om ervoor te zorgen dat apparaatfirmware op de juiste wijze kan worden gericht en bijgewerkt. Hiervoor is zorgvuldig beheer van ESRT-invoer vereist om ervoor te zorgen dat de firmware van het apparaat correct kan worden uitgevoerd.

  7. Nadat het updatepakket is gemaakt, moet het worden ingediend bij Microsoft voor certificering en ondertekening.

Firmware-updates voor systemen en apparaten via een firmwaredriverpakket

De TABEL ESRT vullen

Firmware aanpassen voor verschillende geografische regio's

Het updatepakket certificeren en ondertekenen

De update installeren