Partilhar via


Criação de um pacote de atualização de firmware

Cada pacote de atualização de firmware inclui um único arquivo binário que contém todo o conteúdo de firmware (por exemplo, firmware.bin) e um catálogo de segurança que o Windows usa para validar firmware.bin. Para obter mais informações sobre catálogos e drivers de segurança, consulte Arquivos de Catálogo e Assinaturas Digitais e Criando um arquivo de catálogo para um pacote de driver PnP.

Os pacotes de atualização de firmware devem ser capazes de atualizar um ou mais dos seguintes tipos de firmware:

  • O firmware do sistema UEFI.

  • O firmware para um único dispositivo no sistema.

É recomendável que cada pacote de atualização de firmware tenha como destino um único recurso de firmware (firmware do sistema UEFI ou um único dispositivo), mas pode haver circunstâncias em que é vantajoso ter um único pacote de atualização de firmware que atualiza o firmware do sistema e um ou mais dispositivos.

Um dispositivo não pode ser direcionado por mais de um pacote de atualização de firmware. Se um dispositivo for direcionado por um pacote de atualização de firmware que também inclua firmware do sistema, ele não poderá ser direcionado por um segundo pacote de atualização de firmware direcionado apenas ao dispositivo.

  1. Para permitir que um pacote de atualização de firmware direcione uma atualização de firmware para o hardware do sistema apropriado, o Windows exibe uma instância de dispositivo para cada entrada no ESRT, em que essa instância de dispositivo expõe uma ID de Hardware que a identifica como pertencente à entrada ESRT.

  2. Quando um pacote de atualização de firmware é instalado, ele é processado pelo Windows como um pacote de driver. O Windows copiará o conteúdo de firmware de cada pacote de atualização para um local seguro no diretório Sistema, preparará o sistema para executar as atualizações de firmware e disparará o sistema para reiniciar.

    O Windows não dá suporte a dependências entre pacotes de driver. Portanto, os seguintes requisitos devem ser observados ao criar um novo pacote de atualização de firmware:

    • Um pacote de atualização de firmware deve ser capaz de instalação bem-sucedida por conta própria e sem dependência de outro firmware de dispositivo, firmware do sistema ou outros pacotes de atualização de firmware.

    • É recomendável que cada pacote de atualização seja direcionado para um único dispositivo no sistema ou para o firmware do sistema UEFI (definido no ESRT).

    • Cada pacote de atualização deve conter um binário de atualização de firmware único (por exemplo, firmware.bin).

  3. O conteúdo da atualização de firmware em cada pacote de atualização precisa estar contido em um único arquivo binário. Após a reinicialização do sistema, o carregador do sistema operacional carrega cada arquivo binário de atualização de firmware para cada pacote de atualização de firmware na memória física e cria uma matriz de ponteiros para cada arquivo de carga provisionado para instalação (a especificação UEFI 2.3.1 refere-se a essa matriz como CapsuleHeaderArray).

  4. Essa matriz é passada na chamada para a função UpdateCapsule() do EFI. UpdateCapsule() é usado como uma caixa de correio, passando o conteúdo de atualização de firmware de cada pacote de driver para o firmware da plataforma.

  5. Cada cápsula (uma carga de atualização de firmware) é identificada pela ID do firmware especificada pela entrada ESRT para um recurso de firmware.

  6. Após o recebimento de cada conteúdo de atualização de firmware, a solicitação de atualização de firmware é processada e aplicada quando aplicável.

    Cada entrada no CapsuleHeaderArray é um único bloco contíguo de dados que contém o conteúdo de atualização de firmware de um pacote de driver de firmware para um único dispositivo no sistema. Para cada recurso de firmware de destino, o conteúdo da atualização de firmware deve conter a imagem de firmware e todas as informações exigidas pela plataforma para validação.

    O conteúdo do firmware para todos os pacotes de driver de atualização de firmware é passado para o firmware de plataforma por meio do serviço UPDATECapsule da UEFI. Como os dispositivos integrados serão provenientes de vários IHVs diferentes, o OEM do sistema (e possivelmente o fabricante do SoC) precisará trabalhar diretamente com esses IHVs para garantir que as atualizações de firmware do dispositivo sejam criadas adequadamente para o sistema fornecido. Além disso, o OEM do sistema precisa garantir que as entradas ESRT permitam que os pacotes UpdateCapsule sejam direcionados para os sistemas apropriados.

    Por exemplo, vários OEMs podem escolher o mesmo modelo de dispositivo MBB (Banda Larga Móvel) para seus sistemas. Embora o dispositivo MBB seja idêntico em cada sistema, cada OEM deve colaborar com o MBB IHV para criar um pacote de atualização de firmware personalizado para seu sistema. Esse nível de personalização da atualização de firmware do dispositivo é necessário para lidar com variáveis em sistemas OEM.

    • O endereçamento do dispositivo pode ser diferente com base no SoC escolhido pelo OEM e como o dispositivo está conectado ao SoC.

    • O OEM do sistema pode vender o sistema para várias MNOs (Operadoras de Rede Móvel) para revenda aos consumidores. O dispositivo MBB deve ter reconhecimento MNO, exigindo que o firmware seja personalizado e certificado para os requisitos de um determinado MNO.

    • O sistema pode ser vendido em vários mercados em todo o mundo, cada um com diferentes regulamentos de RF e atribuições de radiofrequência. O firmware do dispositivo MBB pode exigir personalização para atender a esses requisitos de mercado.

    Cada OEM deve considerar cuidadosamente esses requisitos específicos do dispositivo e tomar as etapas necessárias para garantir que o firmware do dispositivo possa ser direcionado e atualizado adequadamente. Isso requer um gerenciamento cuidadoso de entradas ESRT para garantir que o firmware do dispositivo possa ser implantado corretamente.

  7. Depois que o pacote de atualização for criado, ele precisará ser enviado à Microsoft para certificação e assinatura.

Atualizações de firmware de sistema e dispositivo por meio de um pacote de driver de firmware

Preenchendo a tabela ESRT

Personalizando o firmware para diferentes regiões geográficas

Certificando e assinando o pacote de atualização

Instalando a atualização