Guia do usuário do Centro de Atualização do Dispositivo
O portal do Device Update Center fornece aos OEMs uma maneira de:
- Publicar pacotes personalizados OEM (OCP) no Windows Update Cloud
- Pacotes personalizados OEM de voo para seus dispositivos com base em anéis de voo
- Atualizações do sistema operacional de voo para seus dispositivos com base em anéis de voo
Pré-requisitos para o Centro de Atualização de Dispositivos
Examine os seguintes requisitos antes de iniciar o processo de registro:
Você deve ter um certificado de assinatura de código EV (Validação Estendida). Marcar se sua empresa já tem um certificado de assinatura de código. Se sua empresa já tiver um certificado, tenha o certificado disponível. Você precisará do certificado para assinar arquivos. Se sua empresa não tiver um certificado, você precisará comprar um como parte do processo de registro.
Você precisará entrar como administrador global no Azure Active Directory da sua organização. Se você não souber se sua organização tem um Azure Active Directory, entre em contato com seu departamento de TI. Se sua organização não tiver um Azure Active Directory, você poderá criar um gratuitamente.
Você deve ter autoridade para assinar acordos legais em nome de sua organização.
Etapa 1: Configurar
Inscrição
Crie uma conta do Centro de Desenvolvimento de Hardware do Windows para acessar o DUC (Centro de Atualização de Dispositivo). Serão necessários:
- Um certificado de assinatura de código de Validação Estendida (EV): usado para validar o arquivo cab de atualização enviado para atualizações
- Uma conta do AAD (Azure Active Directory) com direitos de administrador: usada para assinar contratos legais
Consulte Registrar para o Programa de Hardware para obter as instruções detalhadas sobre o processo de registro.
Inscrever-se no Windows 10 IoT Core Services
Faça logon no Centro de Desenvolvimento de Hardware com a função de administrador e especifique funções para outros usuários em sua organização. Serão necessários:
- Função do Encaminhador de Driver para envio de atualização
- Função proprietário da etiqueta de remessa para atualizar a versão de pré-lançamento
Consulte Alterar a função de um usuário para obter instruções detalhadas.
Instalar as ferramentas
- Kit de Avaliação e Implantação do Windows (Windows ADK)
- Complementos do ADK do IoT Core
- Pacotes do Windows 10 IoT Core
- Obtenha o BSP para sua plataforma do fornecedor de silício. Consulte Windows 10 IoT Core BSP
Configurar seu ambiente
Inicie o IoTCorePShell (inicia um prompt de comando com privilégios elevados) e crie/abra seu workspace
new-ws C:\MyWorkspace <oemname> <arch> (or) open-ws C:\MyWorkspace
Observe que a versão inicial do pacote personalizado OEM está definida como 10.0.0.0.
Configure o certificado EV usado no Centro de Atualização de Dispositivo e o certificado de assinatura de código no Workspace.
<!--Specify the retail signing certificate details, Format given below --> <RetailSignToolParam>/s my /i "Issuer" /n "Subject" /ac "C:\CrossCertRoot.cer" /fd SHA256</RetailSignToolParam> <!--Specify the ev signing certificate details, Format given below --> <EVSignToolParam>/s my /i "Issuer" /n "Subject" /fd SHA256</EVSignToolParam>
- Atualize o "Emissor", "Assunto" de acordo com os detalhes do certificado.
- CrossCertRoot.cer corresponde à raiz do certificado de assinatura cruzada publicada na Lista de Certificados Cruzados.
Você pode usar o mesmo certificado EV usado para o Centro de Desenvolvimento de Hardware ou obter um diferente apenas para fins de assinatura de código. É recomendável manter um certificado separado para cada finalidade.
Etapa 2: Criar um novo produto
Criar um novo produto usando Add-IoTProduct
Add-IoTProduct <productname> <bspname> (or) newproduct <productname> <bspname>
Forneça as informações do SMBIOS quando solicitado. Para a Qualcomm, isso é armazenado em um arquivo SMBIOS.cfg. Para outras plataformas, você precisará atualizar o BIOS para refletir esses valores.
Consulte Requisitos de licença OEM para os campos obrigatórios do SMBIOS. Os campos de chave usados na atualização são:
Nome do Produto do Sistema, conhecido no portal de atualização como Modelo de Dispositivo.
Produto de Placa Base, conhecido no portal de atualização como ID do Hardware Variant.
Observe que
IoTDeviceModel_<productname>.xml
também é criado. Isso é usado para registrar o modelo de dispositivo na próxima etapa.
Etapa 3: Registrar o modelo de dispositivo no Centro de Atualização de Dispositivos
No portal do Centro de Atualização de Dispositivos, selecione Novo Modelo de Dispositivo.
Navegue pelos arquivos e selecione o
IoTDeviceModel_<productname>.xml
no workspace.Confirme a especificação do modelo de dispositivo e pressione Enviar.
Uma nova entrada de modelo de dispositivo será adicionada à tabela de modelo de dispositivo. Você também verá um link de download nessa tabela.
Baixar o arquivo zip (CUSConfig.zip)
Criar uma imagem base para o dispositivo
No IoTCoreShell, importe o arquivo de configuração usando Import-IoTDUCConfig
Import-IoTDUCConfig <productname> "C:\Downloads\CUSConfig.zip" (or) importcfg <productname> "C:\Downloads\CUSConfig.zip"
Isso também editará os arquivos OEMInputXML para a inclusão de arquivos FM e IDs de recurso necessários. Isso também remove IOT_GENERIC_POP recurso, se presente.
Assinar todos os binários necessários com o certificado de assinatura de código usando Add-IoTSignature e Redo-IoTCabSignature
# enable retail signing Set-IoTRetailSign On (or) retailsign On # sign all binaries in the workspace Add-IoTSignature C:\MyWorkspace *.sys,*.dll,*.exe (or) signbinaries C:\MyWorkspace *.sys,*.dll,*.exe # re-sign prebuilt bsp cabs if applicable Redo-IoTCabSignature <srcbspdir> <dstbspdir>
Criar a imagem base usando os comandos abaixo
# build all packages buildpkg All # build the image buildimage <productname> <retail/test> # build recovery image, if recovery mechanism needed buildrecovery <productname> <retail/test>
Isso fornece a imagem base com o pacote personalizado OEM versão 10.0.0.0.
Valide essa imagem no dispositivo.
Etapa 4: Publicar atualizações
Até agora, criamos uma imagem atualizável que pode ser usada para fabricar e enviar os dispositivos. Nesta etapa, examinaremos o procedimento de criação de pacotes de atualização e publicação no portal.
Criar pacotes de atualização
Atualize o número de versão primeiro usando Set-IoTCabVersion
Set-IoTCabVersion <a.b.c.d> (or) setversion <a.b.c.d>
Verifique se a.b.c.d é uma versão mais alta do que o conjunto de versão anterior.
Se novas versões de drivers BSP estiverem disponíveis, copie-as para a configuração da pasta BSP anteriormente (exemplo,
C:\BSP
). Como alternativa, mantenha todos os drivers atualizados em uma pasta diferente, por exemplo,C:\BSPv2
e atualize o xml do workspace.Se houver uma nova versão do appx existente, crie um novo appx com o mesmo nome. Observe que a ID no customizations.xml gerado será igual à versão anterior.
Se as versões atualizadas dos drivers estiverem disponíveis, atualize os binários e o arquivo xml de empacotamento.
Atualize qualquer outro conteúdo do pacote conforme aplicável.
Assinar todos os binários necessários com o certificado de assinatura de código usando Add-IoTSignature e Redo-IoTCabSignature
# enable retail signing Set-IoTRetailSign On (or) retailsign On # sign all binaries in the workspace Add-IoTSignature C:\MyWorkspace *.sys,*.dll,*.exe (or) signbinaries C:\MyWorkspace *.sys,*.dll,*.exe # re-sign prebuilt bsp cabs if applicable Redo-IoTCabSignature <srcbspdir> <dstbspdir>
Criar a imagem de atualização usando os comandos abaixo
# build all packages buildpkg All # build the image buildimage <productname> <retail/test> # build recovery image, if recovery mechanism needed buildrecovery <productname> <retail/test>
Isso fornece a imagem base com a versão <do pacote personalizado OEM a.b.c.d>.
Valide essa imagem no dispositivo para garantir que o dispositivo seja inicializado com todas as atualizações incluídas.
Após a validação bem-sucedida do build de atualização, exporte os pacotes necessários usando Export-IoTDUCCab
Export-IoTDUCCab <productname> <retail/test> (or) exportpkgs <productname> <retail/test>
<productname>_OCP_<version>.cab
será criado na pasta junto com<productname>_OCP_pkgver.txt
o<workspacedir>\Build\<arch>\<productname>\<config>\<version>\
arquivo que lista os cabs incluídos junto com suas informações de versão. Essa cabine será assinada com o certificado EV configurado no xml do workspace.
Publicar atualizações
No portal do Centro de Atualização de Dispositivos, selecione o Modelo de Dispositivo na tabela Modelo de Dispositivo
Selecione Atualizar envio>Novo pacote personalizado
Navegue pelos arquivos e selecione o
<productname>_OCP_<version>.cab
no workspace.Confirme as informações de versão da versão e pressione Publicar.
O envio da versão passa por um processo que consiste em:
Validação: verificação do conteúdo do pacote carregado quanto à autenticidade e correção
Assinar : assina os táxis com o certificado da Microsoft para publicação no Windows Update
Publicar : etapa de publicação real no Windows Update
Finalizar: finalizando o processo de publicação
Você pode marcar o status do processo de publicação clicando no link Status. Esse processo leva algum tempo para ser concluído.
Etapa 5: Direcionamento de atualizações
Depois de publicar as atualizações com êxito, agora você pode controlar o processo de entrega especificando as regras de direcionamento.
Selecione Atualizar versão de pré-lançamento e selecione Novo Voo
Na caixa de diálogo Novo Voo:
a. Especifique o anel (
Preview
/ /EarlyAdopter
GeneralAvailability
), por exemplo, Visualizar. Observe que o arquivo xml baixado e incluído na imagem define esse valor como GeneralAvailability por padrãoAnel de visualização : atualiza um conjunto limitado de dispositivos, principalmente no laboratório
Anel EarlyAdopter : atualiza um número moderado de dispositivos no ambiente do usuário, incluindo dispositivos auto-host
Anel GeneralAvailability : atualiza todos os dispositivos no mercado
b. Selecione a caixa versão do sistema operacional se quiser especificar a nova versão do sistema operacional e, em seguida, selecione a versão necessária do sistema operacional
c. Selecione a caixa versão do pacote personalizado OEM se quiser especificar a nova versão do pacote personalizado OEM e, em seguida, selecione a versão do pacote personalizado OEM necessária, por exemplo, a.b.c.d
d. Selecione Avançar
Observação
Atualize a versão do sistema operacional para o primeiro 10.0.17763.615 para dar suporte à assinatura sha-2. Consulte a seção Substituição de SHA1 para IoT Core abaixo para obter detalhes.
Na caixa de diálogo Confirmar Versão de Pré-lançamento , selecione Publicar. O envio de direcionamento passa por um processo que consiste em
Validação: verificando a exatidão das regras de direcionamento
Direcionamento: configurações reais definidas no Windows Update
Finalizar : finalizando o processo de direcionamento
Você pode marcar o status do processo de publicação clicando no link Status.
Neste ponto, o sistema de Windows Update está definido para entregar os pacotes de atualização necessários ao dispositivo. Pode levar algumas horas até que as configurações sejam propogated.
Etapa 6: Validar as atualizações no dispositivo
Agora que as atualizações estão disponíveis na atualização do Windows, você pode validar as atualizações no dispositivo agora. Os anéis são fornecidos para habilitar a distribuição em etapas das atualizações, começando com Preview, EarlyAdopter e GeneralAvailability.
Configure seu dispositivo para o Anel de Visualização. Isso pode ser definido usando a API de DM do Azure ou a API atualizar UWP
Permita que o dispositivo verifique se há atualização, o dispositivo detectará a atualização publicada, baixará e instalará automaticamente (com base nas políticas de atualização configuradas).
Esse processo pode levar 24 horas ou mais, dependendo do tempo de verificação e das configurações de horas ativas.
Substituição sha1 para IoT Core
A substituição sha1 para Windows 10 IoT Core sistema operacional foi implementada e o suporte somente sha-2 está habilitado a partir da atualização de julho do Windows 10 IoTCore versão 1809 (10.0.17763.615). A partir de novembro de 2019, todos os pacotes personalizados do OEM serão assinados apenas com assinaturas SHA-2 e todos os dispositivos devem primeiro ser atualizados para a Atualização de julho do Windows 10 1809 (10.0.17763.615) ou versão posterior para poder direcionar pacotes personalizados OEM assinados por SHA-2.
Observação
As atualizações assinadas por SHA-2 não serão instaladas em versões do sistema operacional anteriores à 10.0.17763.611. É recomendável atualizar o sistema operacional do dispositivo primeiro para o lançamento dessa versão e, em seguida, direcionar as atualizações de pacote personalizado do OEM.
Para dispositivos que executam o Windows 10 IoTCore, versão 1803, você precisará atualizar para a atualização de julho do Windows 10 IoTCore versão 1803 (10.0.17134.885). É altamente recomendável atualizar dispositivos 1803 também para a atualização de julho da versão 1809.
Expiração das raízes de Assinatura e Certificado Cruzado do OEM
Os certificados raiz assinados entre elas são SHA1 e terão suporte até as datas de expiração. Essa expiração não afeta os drivers já assinados na imagem e afeta a assinatura de novos drivers após a data de expiração.
Importante
A partir Windows 10 IoT Core versão 1809 atualização de 10 de novembro de 2020(17763.1577), há suporte para a assinatura do driver de kernel OEM. Com isso, o certificado de assinatura de código não precisa ser encadeado à raiz com sinal cruzado. A assinatura do OEM requer que os recursos de proteção de dispositivo e inicialização segura sejam habilitados para imagens de varejo e de teste. Consulte Branch IoT-ADK-AddonKit 17763-v7 para obter as atualizações de ferramentas e certificados de exemplo.
Confira os links a seguir para obter mais informações sobre a substituição do SHA1: