Creación de un paquete de actualización de firmware
Cada paquete de actualización de firmware incluye un único archivo binario que contiene toda la carga de firmware (por ejemplo, firmware.bin) y un catálogo de seguridad que Windows usa para validar firmware.bin. Para obtener más información sobre los catálogos y controladores de seguridad, vea Archivos de catálogo y firmas digitales y Creación de un archivo de catálogo para un paquete de controladores PnP.
Los paquetes de actualización de firmware deben ser capaces de actualizar uno o varios de los siguientes tipos de firmware:
Firmware del sistema UEFI.
Firmware de un solo dispositivo en el sistema.
Se recomienda que cada paquete de actualización de firmware tenga como destino un único recurso de firmware (firmware del sistema UEFI o un único dispositivo), pero puede haber circunstancias en las que sea ventajoso tener un único paquete de actualización de firmware que actualice el firmware del sistema y uno o varios dispositivos.
Un dispositivo no puede ser el destino de más de un paquete de actualización de firmware. Si un dispositivo es el destino de un paquete de actualización de firmware que también incluye firmware del sistema, no se puede destinar a un segundo paquete de actualización de firmware que solo tenga como destino el dispositivo.
Para permitir que un paquete de actualización de firmware tenga como destino una actualización de firmware al hardware del sistema adecuado, Windows muestra una instancia de dispositivo para cada entrada de ESRT, donde dicha instancia de dispositivo expone un identificador de hardware que lo identifica como perteneciente a la entrada ESRT.
Cuando se instala un paquete de actualización de firmware, Windows lo procesa como un paquete de controladores. Windows copiará la carga de firmware de cada paquete de actualización en una ubicación segura en el directorio Del sistema, preparará el sistema para realizar las actualizaciones de firmware y desencadenará el reinicio del sistema.
Windows no admite dependencias entre paquetes de controladores. Por lo tanto, se deben observar los siguientes requisitos al crear un nuevo paquete de actualización de firmware:
Un paquete de actualización de firmware debe ser capaz de instalarse correctamente por sí solo y sin depender de otro firmware del dispositivo, firmware del sistema u otros paquetes de actualización de firmware.
Se recomienda que cada paquete de actualización esté destinado a un único dispositivo del sistema o al firmware del sistema UEFI (definido en ESRT).
Cada paquete de actualización debe contener un único archivo binario de actualización de firmware (por ejemplo, firmware.bin).
La carga de actualización de firmware de cada paquete de actualización debe estar contenida en un único archivo binario. Tras el reinicio del sistema, el cargador del sistema operativo carga cada archivo binario de actualización de firmware para cada paquete de actualización de firmware en memoria física y crea una matriz de punteros a cada archivo de carga aprovisionado para la instalación (la especificación UEFI 2.3.1 hace referencia a esta matriz como CapsuleHeaderArray).
Esta matriz se pasa en la llamada a la función UpdateCapsule() de EFI. UpdateCapsule() se usa como buzón, pasando la carga de actualización de firmware de cada paquete de controladores al firmware de la plataforma.
Cada cápsula (una carga de actualización de firmware) se identifica mediante el identificador de firmware especificado por la entrada ESRT para un recurso de firmware.
Tras la recepción de cada carga de actualización de firmware, la solicitud de actualización de firmware se procesa y se aplica cuando procede.
Cada entrada de CapsuleHeaderArray es un único bloque contiguo de datos que contiene la carga de actualización de firmware de un paquete de controladores de firmware para un único dispositivo del sistema. Para cada recurso de firmware de destino, la carga de actualización de firmware debe contener la imagen de firmware y toda la información que requiere la plataforma para la validación.
La carga de firmware de todos los paquetes de controladores de actualización de firmware se pasa al firmware de la plataforma a través del servicio UpdateCapsule de UEFI. Dado que los dispositivos integrados se originarán de varios IHD diferentes, el OEM del sistema (y posiblemente el fabricante del SoC) tendrá que trabajar directamente con estos IHV para asegurarse de que las actualizaciones de firmware del dispositivo se crean correctamente para el sistema determinado. Además, el OEM del sistema debe asegurarse de que las entradas de ESRT permiten que los paquetes UpdateCapsule se dirijan a los sistemas adecuados.
Por ejemplo, varios OEM pueden elegir el mismo dispositivo de banda ancha móvil (MBB) modelo para sus sistemas. Aunque el dispositivo MBB es idéntico en cada sistema, cada OEM debe colaborar con el IHV de MBB para crear un paquete de actualización de firmware personalizado para su sistema. Este nivel de personalización de la actualización de firmware del dispositivo es necesario para abordar las variables en los sistemas OEM.
El direccionamiento del dispositivo puede diferir en función del SoC elegido por el OEM y de cómo se conecta el dispositivo al SoC.
El OEM del sistema puede vender el sistema a varios operadores de red móvil (MNO) para reventar a los consumidores. El dispositivo MBB debe ser compatible con MNO, lo que requiere que el firmware esté personalizado y certificado para los requisitos de un MNO determinado.
El sistema puede venderse en varios mercados de todo el mundo, cada uno con diferentes regulaciones de RF y asignaciones de frecuencia de radio. El firmware del dispositivo MBB puede requerir personalización para cumplir estos requisitos de mercado.
Cada OEM debe tener en cuenta cuidadosamente estos requisitos específicos del dispositivo y tomar los pasos necesarios para asegurarse de que el firmware del dispositivo se pueda destinar y actualizar correctamente. Esto requiere una administración cuidadosa de las entradas de ESRT para garantizar que el firmware del dispositivo se pueda implementar correctamente.
Una vez creado el paquete de actualización, debe enviarse a Microsoft para su certificación y firma.
Artículos relacionados
Personalización del firmware para diferentes regiones geográficas