Lab 1a : Créer une image de base (create-a-basic-image)

Pour commencer, nous allons créer une image de base Windows 10 IoT Standard (IoT Core) et la flasher sur un appareil matériel spécifique.

Nous allons créer un dossier de produit qui représente notre première conception. Pour notre première conception de produit, nous allons personnaliser juste assez pour que l’appareil IoT core démarre et exécute l’application OOBE intégrée, que nous devrions être en mesure de voir sur un moniteur compatible HDMI.

Pour faciliter l’exécution de ces commandes, nous allons installer et utiliser l’interpréteur de commandes IoT Core, qui préréglage plusieurs chemins et variables fréquemment utilisés.

Prérequis

Assurez-vous que votre PC de technicien dispose des outils nécessaires installés avant de créer une image IoT Core.

Consultez Obtenir les outils nécessaires pour personnaliser Windows IoT Core pour préparer votre PC de technicien.

Important

La version d’ADK utilisée doit correspondre à la version des packages IoT Core utilisés ci-dessous.

Vous aurez besoin des outils suivants installés pour terminer cette section :

  • Évaluation et déploiement De Windows KiT (Windows ADK)
  • packages Windows 10 IoT Standard
  • Modules complémentaires ADK IoT Core
  • Environnement PowerShell IoT Core
  • Éditeur de texte tel que Bloc-notes Windows ou VS Code

Créer une image de base

Créer un espace de travail

  1. Dans l’Explorateur Windows, accédez au dossier où vous avez installé les modules complémentaires ADK IoT Core, par exemple C  :\IoT-ADK-AddonKit, puis ouvrez IoTCorePShell.cmd. Il doit vous inviter à vous exécuter en tant qu’administrateur.

Cela charge le module PowerShell et case activée également les versions du kit ADK, IoT Core. Cela case activée également pour les certificats de test dans le magasin de certificats et, s’il n’est pas présent, installez-les automatiquement.

Résolution des problèmes : Erreur : « Le système ne peut pas trouver le chemin spécifié ». Si vous obtenez cela, cliquez avec le bouton droit sur l’icône et modifiez le chemin d’accès dans « Cible » à l’emplacement que vous avez choisi d’installer les outils.

  1. Dans IoTCorePShell, créez un espace de travail par exemple C:\MyWorkspace avec un nom Contoso OEM pour l’architecture arm à l’aide de New-IoTWorkspace
New-IoTWorkspace C:\MyWorkspace Contoso arm
(or) new-ws C:\MyWorkspace Contoso arm

IoT Core prend en charge quatre architectures, x64, x86, arm et arm64.

Seuls les caractères alphanumériques sont pris en charge dans le nom OEM, car il est utilisé comme préfixe pour différents noms de fichiers générés.

Cela génère la IoTWorkspace.xml et définit un numéro de version pour la conception, que vous pouvez utiliser pour les futures mises à jour. Le premier numéro de version est défini par défaut sur 10.0.0.0.

Les packages requis tels que Registry.Version, Custom.Cmd et Provisioning.Auto seront importés automatiquement dans l’espace de travail.

PowerShell session showing setup of new IoTWorkSpace

  1. Importez des exemples de packages dans l’espace de travail. Vous pouvez choisir d’importer les packages de manière sélective ou d’importer tout.
# Importing Recovery packages from sample workspace (create-a-basic-image)
Import-IoTOEMPackage Recovery.*
(or) importpkg Recovery.*
# Below example imports all packages from the sample workspace (create-a-basic-image)
Import-IoTOEMPackage *
(or) importpkg *

Importer un BSP Raspberry Pi

Cette étape suivante consiste à prendre les fichiers du package de support de la carte et à générer leurs fichiers .CAB à inclure dans le fichier FFU.

  1. Téléchargez RPi_BSP.zip dans un répertoire local, par exemple C:\Downloads\RPi_BSP.zip.

  2. Importer le bsp à l’aide d’Import-Io To SP

Import-IoTBSP RPi2 C:\Downloads\RPi_BSP.zip
(or) importbsp RPi2 C:\Downloads\RPi_BSP.zip

Pour plus d’informations sur les fournisseurs de services cloud disponibles, consultez Windows 10 IoT Standard fournisseurs de services cloud.

Créer un projet de test

À partir de l’environnement IoT Core Shell, créez un dossier de produit qui utilise raspberry Pi 2 BSP. Ce dossier représente un nouvel appareil que nous voulons générer et contient des exemples de fichiers de personnalisation que nous pouvons utiliser pour démarrer notre projet. Créer un produit à l’aide d’Add-IoTProduct

Add-IoTProduct ProductA RPi2
(or) newproduct ProductA RPi2

Vous serez invité à entrer les informations S Mo IOS telles que le nom du fabricant (nom OEM), la famille, la référence SKU, La baseboardManufacturer et BaseboardProduct. Voici quelques exemples de valeurs :

  • Nom OEM du système : Fabricam
  • Nom de la famille système : FabricamHub
  • Numéro de référence SKU système : AI-001
  • Flèche fabricant du tableau de base
  • Produit de tableau de base : Raspberry Pi 2

Le nom BSP est identique au nom du dossier pour le BSP. Vous pouvez voir quelles adresses BSP sont disponibles en recherchant dans les C:\MyWorkspace\Source-<arch>\BSP dossiers.

Cela crée le dossier : C:\MyWorkspace\Source-<arch>\Products\\ProductA.

New Product

fichier OemCustomization.cmd

Chaque image inclut un fichier oemcustomization.cmd qui s’exécutera sur chaque démarrage de votre appareil. Vous avez la possibilité de modifier ce fichier pour personnaliser ce qui s’exécute lors du démarrage. Ce fichier se trouve sous C:\MyWorkspace\Source-<arch>\Products\\ProductA cet exemple. Le contenu du fichier est le suivant :

@echo off
REM OEM Customization Script file
REM This script if included in the image, is called everytime the system boots.

reg query HKLM\Software\IoT /v FirstBootDone >nul 2>&1

if %errorlevel% == 1 (
    REM Enable Administrator User
    net user Administrator p@ssw0rd /active:yes
    if exist C:\Data\oobe (
        call folderpermissions.exe 'C:\Data\oobe -e'
    )
REM - Enable the below if you need secure boot/bitlocker
REM Enable Secureboot
REM if exist c:\IoTSec\setup.secureboot.cmd  (
REM    call c:\IoTSec\setup.secureboot.cmd
REM )

REM Enable Bitlocker
REM if exist c:\IoTSec\setup.bitlocker.cmd  (
REM    call c:\IoTSec\setup.bitlocker.cmd
REM )
    reg add HKLM\Software\IoT /v FirstBootDone /t REG_DWORD /d 1 /f >nul 2>&1
)

REM The below should be called on every boot
if exist C:\RecoveryConfig\Recovery.BcdEdit.cmd (
    call C:\RecoveryConfig\Recovery.BcdEdit.cmd
)

REM Set the crashdump file locations to data partition, set on every boot.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v DedicatedDumpFile /t REG_SZ /d C:\Data\DedicatedDumpFile.sys /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v DumpFile /t REG_SZ /d C:\Data\MEMORY.DMP /f

Remarque

N’oubliez pas que les fonctionnalités de sécurité telles que BitLocker et SecureBoot sont désactivées par défaut pour une image de test personnalisée. Si vous souhaitez inclure ces fonctionnalités (dans une image de vente au détail), vous pouvez annuler les marques de commentaire des lignes appropriées dans le fichier, avant de créer votre image.

Remarque

N’oubliez pas que les commandes de ce fichier s’exécutent avec le privilège système local.

Build Packages

À partir d’IoT Core Shell, préparez votre environnement à créer des produits en créant tous les packages dans les dossiers de travail à l’aide de New-IoTCabPackage :

New-IoTCabPackage All
(or) buildpkg All

Remarque

Si vous recevez des erreurs SignTool lors de la génération des packages en mode Test, exécutez cette opération installoemcerts.cmd pour installer les certificats de test sur votre PC de technicien.

Générer une image

  1. Éjectez tous les lecteurs de stockage amovibles, y compris les carte Micro SD et les lecteurs flash USB.

  2. Générez le fichier image FFU en entrant la commande suivante dans l’environnement PowerShell IoT Core à l’aide de New-IoTFFUImage :

New-IoTFFUImage ProductA Test
(or) buildimage ProductA Test

Cela génère un fichier FFU avec votre image de base à l’adresse C:\MyWorkspace\Build\<arch>\ProductA\Test. Cette image de test inclut des outils supplémentaires qui peuvent être utilisés à des fins de débogage. La création du fichier FFU final prendra environ 10 à 30 minutes.

Pour diriger toutes les sorties vers la console au lieu du fichier journal, ajoutez -Verbose un indicateur, tel que celui ci-dessous.

new-IoTFFUImage -Verbose ProductX Test

Remarque

Si vous obtenez 0x80070005 ou 0x800705b4 en tant que code d’erreur, déconnectez tous les lecteurs externes (y compris les micro-SD carte s et les lecteurs USB), puis réessayez. Si cela ne fonctionne pas, revenez à Configurer votre PC et téléchargez les exemples et assurez-vous que tout est installé.

Flasher une image Windows IoT Core

Maintenant que votre fichier image FFU est généré, vous pouvez ues ce fichier pour flasher et déployer th eimage sur votre appareil. Listée ci-dessous les étapes d’écheving pour flasher le fichier image FFU sur des appareils fabricant spécifiques.

Conditions préalables/conditions requises

Vous aurez besoin des outils suivants installés pour terminer cette section :

  • Tableau de bord Windows IoT Core (Raspberry Pi uniquement)
  • Dragonboard Update Tool (DragonBorad Uniquement)
  • Outil d’imagerie et de gestion des déploiements (DICM) (appareils Intel uniquement)

Comme nous utilisons Raspberry Pi ici, nous allons commencer avec Raspberry Pi, mais également expliquer comment flasher des images sur d’autres appareils.

Raspberry Pi

  1. Démarrez le tableau de bord Windows IoT Core.

  2. Branchez votre micro SD carte dans votre PC de technicien, puis sélectionnez-le dans l’outil.

  3. Dans la section Configurer un nouvel appareil , sélectionnez Broadcomm [Raspberry Pi 2 &3] sous Type d’appareil.

  4. Sélectionnez Personnalisé sous Build du système d’exploitation.

  5. Cliquez sur Parcourir et naviguer, puis sélectionnez le fichier FFU que vous avez créé précédemment. Dans ce cas, votre fichier FFU se trouve à l’adresse C:\MyWorkspace\Build\<arch>\ProductA\Test\Flash.ffu. Cliquez ensuite sur Suivant.

  6. Vérifiez que votre carte microSD est répertorié sous la sélection du lecteur.

  7. Si vous le souhaitez, vous pouvez définir les sélections nom de l’appareil et mot de passe Administration istrator pour votre appareil.

  8. Vérifiez les termes du contrat de licence logiciel case activée box (en bas à droite), puis cliquez sur Installer.

IoT Dashboard dialog box in Windows settings showing new device set up

Le tableau de bord Windows IoT Core ouvre désormais une fenêtre de commande et utilise DISM (Deployment Image Servicing and Management Tool) pour flasher le fichier FFU vers votre microSD carte.

Raspberry Pi Flashing DISM

Remarque

Vous pouvez également utiliser la commande DISM pour flasher manuellement l’image : dism.exe /Apply-Image /ImageFile:"D:\flash.ffu" /ApplyDrive:\\.\PhysicalDrive0 /SkipPlatformCheck

Une fois le processus de flashing terminé, éjectez le microSD carte du PC de technicien et insérez-le dans le Raspberry Pi. Reconnectez l’alimentation pour démarrer Windows IoT Core. Vous devez voir l’application IoT Core Default, qui affiche des informations de base sur l’image.

Qualcomm

DragonBoard 410c

Qualcomm a fourni l’application Dragonboard Update Tool , que nous allons utiliser pour flasher le fichier image FFU vers dragonboard 410c. Vous pouvez télécharger la version x86 ou x64 (nous vous recommandons x64).

DragonBoard update tool

Une fois que vous avez installé l’outil DragonBoard Update, vous devez d’abord placer l’appareil DragonBoard en mode programmation. Pour ce faire, définissez dipswitch #1 (sur le côté arrière de l’appareil) sur la position ON :

Dragonboard Dipswitch

Connecter l’appareil DragonBoard à votre pc de technicien avec un câble microUSB et une alimentation sur la carte.

Exécutez l’outil DragonBoard Update, recherchez le fichier image FFU que vous déployez, puis appuyez sur le bouton Program . Vous devez voir un état de Connecter ion vert et une barre de progression lorsque l’appareil clignote le fichier FFU.

Une fois le processus de flashing terminé, déconnectez la puissance de la carte, ainsi que le câble microUSB. Vous devez ensuite retourner le commutateur dipswitch #1 à la position OFF . Reconnectez l’alimentation pour démarrer Windows IoT Core.

DragonBoard Update tool position 1DragonBoard Update tool position 2

Intel

Lac Apollo/Braswell/Cherry Trail

Nous allons utiliser le DISM (Deployment Image and Servicing Management Tool) et une clé USB de démarrage pour flasher le fichier image FFU sur l’appareil Intel spécifié (Apollo Lake/Braswell/Cherry Trail). Vous trouverez ici des informations supplémentaires sur DISM.

Création d’un lecteur de démarrage USB

Nous devons d’abord créer un lecteur USB démarrable que nous pouvons utiliser pour démarrer sur l’appareil matériel Intel spécifié. Nous pouvons utiliser Windows PE (WinPE) pour cela (les informations supplémentaires sur WinPE sont ici).

  1. Installez WinPE à partir des modules complémentaires Windows ADK Windows Preinstallation Environment.

WinPE Install screen

  1. Préparer un lecteur USB

Le lecteur USB que vous souhaitez utiliser doit être correctement mis en forme avant de pouvoir charger WinPE dessus. Suivez ces teps pour mettre correctement en forme votre lecteur USB :

  • Exécuter l’outil diskpart à partir d’une invite de commandes d’administration
  • Exécuter list disk pour afficher la liste des disques disponibles
  • Exécuter select disk X, où X correspond au numéro de disque de votre lecteur USB
  • Exécuter clean jusqu’à propre le disque sélectionné

Remarque

Si vous rencontrez l’erreur suivante, exécutez convert mbr:

ERROR: Failed to format "F:"; DiskPart errorlevel -2147212244
  • Exécuter create partition primary pour créer une partition principale sur le disque
  • Exécuter format fs=fat32 quick pour mettre en forme le lecteur
  • Exécuter assign pour affecter le lecteur
  • Quittez diskpart. Votre lecteur USB est désormais mis en forme et prêt à être installé par WinPE.
  1. Créer des fichiers de travail WinPE

Nous devons maintenant créer une copie opérationnelle des fichiers Windows PE sur le PC de technicien. Cette opération peut être effectuée à l’aide du programme de ligne de commande Deployment and Imaging Tools Environment . Le moyen le plus simple de démarrer consiste Deployment and Imaging Tools Environment à rechercher le déploiement via le menu Démarrer.

Exécutez le programme de ligne de commande Deployment and Imaging Tools Environment en tant qu’administrateur, puis exécutez la commande suivante :

copype amd64 C:\WinPE_amd64

Cette opération crée la copie opérationnelle des fichiers Windows PE sur C :\WinPE_amd64.

Insérez votre lecteur USB sur son PC technicien et exécutez cette commande pour installer Windows PE sur le lecteur USB. Veillez à remplacer X par la lettre de lecteur de votre lecteur USB :

MakeWinPEMedia /UFD C:\WinPE_amd64 X:
  1. Copiez votre fichier FFU sur le lecteur racine de votre lecteur USB.
  2. Insérez votre lecteur USB dans votre appareil matériel Intel et démarrez à partir du lecteur USB. Vous devrez peut-être entrer le BIOS (ou le menu de démarrage) de l’appareil matériel pour spécifier le démarrage à partir d’un lecteur USB.
  3. Une fois l’environnement Windows PE démarré, une fenêtre de commande s’affiche. Remplacez le lecteur et le répertoire actif par l’emplacement de votre fichier FFU (en fonction de l’énumération du lecteur, il peut être en C : ou D : .. etc.) et exécutez la commande suivante pour flasher le fichier image FFU :
dism.exe /Apply-Image /ImageFile:"C:\IoT\Workspaces\ContosoWS\Build\ARM\ProductX\Test\flash.ffu" /ApplyDrive:\\.\PhysicalDrive0 /SkipPlatformCheck

Remarque

La plupart du temps, la cible de stockage de carte à flasher est énumérée en tant que PhysicalDrive0, toutefois, s’il existe plusieurs périphériques de stockage, il peut énumérer comme autre numéro de lecteur. Vous pouvez utiliser la list disk commande dans diskpart pour vérifier le numéro de lecteur.

  1. Une fois le processus de flashing terminé, arrêtez le périphérique matériel et supprimez le lecteur USB. Reconnectez la puissance à l’appareil matériel pour démarrer Windows IoT Core.
Commandes Diskpart
C:\>diskpart
 Microsoft DiskPart version 10.0.17134.1
 Copyright (C) Microsoft Corporation.
 On computer: LWIN-CNCY-BUILD

 DISKPART> list disk

 Disk ###  Status         Size     Free     Dyn  Gpt
 --------  -------------  -------  -------  ---  ---
 Disk 0    Online          447 GB  1024 KB        *
 Disk 1    Online          167 GB  1024 KB        *
 Disk 2    Online           14 GB      0 B        *

 DISKPART> select disk 2
 Disk 2 is now the selected disk.

 DISKPART> clean
 DiskPart succeeded in cleaning the disk.

 DISKPART> convert mbr
 DiskPart successfully converted the selected disk to MBR format.

 DISKPART> create partition primary
 DiskPart succeeded in creating the specified partition.

 DISKPART> format fs=fat32 quick
   100 percent completed

 DiskPart successfully formatted the volume.

 DISKPART> assign
 DiskPart successfully assigned the drive letter or mount point.

 DISKPART> exit
Commandes WinPE
copype amd64 C:\WinPE_amd64
MakeWinPEMedia /UFD C:\WinPE_amd64 X:
Commande DISM (via WinPE sur l’appareil matériel Intel)
X:\WinPE>d:

D:\>dism.exe /Apply-Image /ImageFile:"C:\IoT\Workspaces\ContosoWS\Build\ARM\ProductX\Test\flash.ffu" /ApplyDrive:\\.\PhysicalDrive0 /SkipPlatformCheck

Étapes suivantes

Laissez l’appareil activé pour l’instant et passez à Lab 1b : ajoutez une application à votre image.