Condividi tramite


Creazione di un pacchetto di aggiornamento del firmware

Ogni pacchetto di aggiornamento del firmware include un singolo file binario che contiene l'intero payload del firmware (ad esempio firmware.bin) e un catalogo di sicurezza usato da Windows per convalidare firmware.bin. Per altre informazioni sui cataloghi e i driver di sicurezza, vedere File di catalogo e Firme digitali e Creazione di un file di catalogo per un pacchetto driver PnP.

I pacchetti di aggiornamento del firmware devono essere in grado di aggiornare uno o più dei tipi di firmware seguenti:

  • Firmware di sistema UEFI.

  • Firmware per un singolo dispositivo nel sistema.

È consigliabile che ogni pacchetto di aggiornamento del firmware abbia come destinazione una singola risorsa firmware (firmware di sistema UEFI o un singolo dispositivo), ma in alcuni casi può risultare vantaggioso avere un singolo pacchetto di aggiornamento del firmware che aggiorna sia il firmware di sistema che uno o più dispositivi.

Un dispositivo non può essere destinato a più pacchetti di aggiornamento del firmware. Se un dispositivo è destinato a un pacchetto di aggiornamento del firmware che include anche il firmware di sistema, non può essere indirizzato da un secondo pacchetto di aggiornamento del firmware destinato solo al dispositivo.

  1. Per consentire a un pacchetto di aggiornamento del firmware di specificare come destinazione un aggiornamento del firmware all'hardware di sistema appropriato, Windows visualizza un'istanza del dispositivo per ogni voce in ESRT, in cui tale istanza del dispositivo espone un ID hardware che lo identifica come appartenente alla voce ESRT.

  2. Quando viene installato un pacchetto di aggiornamento del firmware, viene elaborato da Windows come pacchetto driver. Windows copia il payload del firmware di ogni pacchetto di aggiornamento in un percorso sicuro nella directory system, prepara il sistema per eseguire gli aggiornamenti del firmware e attivare il sistema per il riavvio.

    Windows non supporta le dipendenze tra i pacchetti driver. Di conseguenza, quando si crea un nuovo pacchetto di aggiornamento del firmware, è necessario rispettare i requisiti seguenti:

    • Un pacchetto di aggiornamento del firmware deve essere in grado di eseguire correttamente l'installazione autonomamente e senza dipendenza da altri firmware del dispositivo, firmware di sistema o altri pacchetti di aggiornamento del firmware.

    • È consigliabile che ogni pacchetto di aggiornamento sia destinato a un singolo dispositivo nel sistema o al firmware di sistema UEFI (definito in ESRT).

    • Ogni pacchetto di aggiornamento deve contenere un singolo file binario di aggiornamento del firmware, ad esempio firmware.bin.

  3. Il payload di aggiornamento del firmware in ogni pacchetto di aggiornamento deve essere contenuto in un singolo file binario. Al riavvio del sistema, il caricatore del sistema carica ogni file binario di aggiornamento del firmware per ogni pacchetto di aggiornamento del firmware in memoria fisica e compila una matrice di puntatori a ogni file di payload di cui è stato effettuato il provisioning per l'installazione (la specifica UEFI 2.3.1 fa riferimento a questa matrice come CapsuleHeaderArray).

  4. Questa matrice viene passata nella chiamata alla funzione EFI UpdateCapsule(). UpdateCapsule() viene usato come cassetta postale, passando il payload di aggiornamento del firmware di ogni pacchetto driver al firmware della piattaforma.

  5. Ogni capsula (payload di aggiornamento del firmware) è identificata dall'ID firmware specificato dalla voce ESRT per una risorsa firmware.

  6. Al ricevimento di ogni payload di aggiornamento del firmware, la richiesta di aggiornamento del firmware viene elaborata e applicata quando applicabile.

    Ogni voce in CapsuleHeaderArray è un singolo blocco contiguo di dati contenente il payload di aggiornamento del firmware da un pacchetto driver firmware per un singolo dispositivo nel sistema. Per ogni risorsa firmware di destinazione, il payload di aggiornamento del firmware deve contenere l'immagine del firmware e tutte le informazioni richieste dalla piattaforma per la convalida.

    Il payload del firmware per tutti i pacchetti driver di aggiornamento del firmware viene passato al firmware della piattaforma tramite il servizio UeFI UpdateCapsule. Poiché i dispositivi integrati verranno originati da vari IHD diversi, l'OEM di sistema (e possibilmente il produttore soC) dovrà lavorare direttamente con questi IHD per garantire che gli aggiornamenti del firmware del dispositivo vengano creati in modo appropriato per il sistema specificato. Inoltre, l'OEM di sistema deve assicurarsi che le voci ESRT consentano che i pacchetti UpdateCapsule siano destinati ai sistemi appropriati.

    Ad esempio, diversi OEM potrebbero scegliere lo stesso modello di dispositivo Mobile Broadband (MBB) per i propri sistemi. Anche se il dispositivo MBB è identico in ogni sistema, ogni OEM deve collaborare con L'IHV MBB per creare un pacchetto di aggiornamento del firmware personalizzato per il sistema. Questo livello di personalizzazione dell'aggiornamento del firmware del dispositivo è necessario per gestire le variabili nei sistemi OEM.

    • L'indirizzamento del dispositivo può differire in base al SoC scelto dall'OEM e al modo in cui il dispositivo è connesso al SoC.

    • L'OEM di sistema può vendere il sistema a più operatori di rete mobile (MNO) per la rivendita ai consumer. Il dispositivo MBB deve essere compatibile con MNO, richiedendo che il firmware sia personalizzato e certificato in base ai requisiti di un determinato MNO.

    • Il sistema può essere venduto in più mercati in tutto il mondo, ognuno con normative RF diverse e assegnazioni di radiofrequenza. Il firmware del dispositivo MBB può richiedere la personalizzazione per soddisfare questi requisiti di mercato.

    Ogni OEM deve considerare attentamente tali requisiti specifici del dispositivo ed eseguire le misure necessarie per garantire che il firmware del dispositivo possa essere mirato e aggiornato in modo appropriato. Ciò richiede un'attenta gestione delle voci ESRT per garantire che il firmware del dispositivo possa essere distribuito correttamente.

  7. Dopo aver creato il pacchetto di aggiornamento, deve essere inviato a Microsoft per la certificazione e la firma.

Aggiornamenti del firmware del sistema e del dispositivo tramite un pacchetto di driver del firmware

Popolamento della tabella ESRT

Personalizzazione del firmware per aree geografiche diverse

Certificazione e firma del pacchetto di aggiornamento

Installazione dell'aggiornamento