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
- 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.
- Dans IoTCorePShell, créez un espace de travail par exemple
C:\MyWorkspace
avec un nomContoso
OEM pour l’architecturearm
à 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.
- 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.
Téléchargez RPi_BSP.zip dans un répertoire local, par exemple
C:\Downloads\RPi_BSP.zip
.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
.
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
Éjectez tous les lecteurs de stockage amovibles, y compris les carte Micro SD et les lecteurs flash USB.
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
Démarrez le tableau de bord Windows IoT Core.
Branchez votre micro SD carte dans votre PC de technicien, puis sélectionnez-le dans l’outil.
Dans la section Configurer un nouvel appareil , sélectionnez Broadcomm [Raspberry Pi 2 &3] sous Type d’appareil.
Sélectionnez Personnalisé sous Build du système d’exploitation.
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.Vérifiez que votre carte microSD est répertorié sous la sélection du lecteur.
Si vous le souhaitez, vous pouvez définir les sélections nom de l’appareil et mot de passe Administration istrator pour votre appareil.
Vérifiez les termes du contrat de licence logiciel case activée box (en bas à droite), puis cliquez sur Installer.
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.
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).
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 :
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.
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).
- Installez WinPE à partir des modules complémentaires Windows ADK Windows Preinstallation Environment.
- 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.
- 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:
- Copiez votre fichier FFU sur le lecteur racine de votre lecteur USB.
- 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.
- 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.
- 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.