Handbuch zur Herstellung von IoT CoreIoT Core manufacturing guide

Hinweis

Die vorherige Version finden Sie unter IOT Core Manufacturing Guide für V5. x.For the previous version, see IoT Core manufacturing guide for v5.x.

Denken Sie an Massen produzierende Geräte, auf denen Windows 10 IOT Core ausgeführt wird?Thinking about mass-producing devices running Windows 10 IoT Core? Verwenden Sie die Add-ons für Windows ADK IOT Core , um Images zu erstellen, mit denen Sie schnell auf neue Geräte einsteigen können.Use the Windows ADK IoT Core Add-ons to create images that you can quickly flash onto new devices.

Sie können Test Imageserstellen, die Tools für den schnellen Zugriff auf und das Ändern von Geräten enthalten.You can create test images, which include tools for quickly accessing and modifying devices. Test Bilder eignen sich hervorragend für Folgendes:Test images are great for:

  • Entwickler, Hardwarehersteller und Hersteller (OEMs), die neue Geräte Entwürfe ausprobieren.Developers, hardware vendors, and manufacturers (OEMs) who are trying out new device designs.
  • Hobby Entwickler und Unternehmen, die Geräte erstellen, die in nicht vernetzten oder kontrollierten Netzwerkumgebungen ausgeführt werden sollen.Hobbyists and organizations that are creating devices designed to run in non-networked or controlled network environments.

Sie können Einzelhandels Abbildererstellen, die für öffentliche Netzwerke oder Unternehmensnetzwerke sicherer gemacht werden können, während Sie weiterhin Updates erhalten.You can create retail images, which can be made more secure for public or corporate networks while still receiving updates.

Sie können Anpassungen wie apps, Einstellungen, Hardware Konfigurationen und Board-Support Pakete (BSPs) hinzufügen.You can add customizations, including apps, settings, hardware configurations, and board support packages (BSPs).

Bei Bildern im OEM-Stil werden Ihre Anpassungen in Paketdateien (CAB-Dateien) eingebunden.For OEM-style images, you’ll wrap your customizations into package (.cab) files. Mithilfe von Paketen können OEMs, ODMs, Entwickler und Microsoft zusammenarbeiten, um Sicherheits-und Featureupdates für Ihre Geräte bereitzustellen, ohne sich gegenseitig zu schützen.Packages let OEMs, ODMs, developers, and Microsoft work together to help deliver security and feature updates to your devices without stomping on each other's work.

Ihr IOT Core-Gerät mit Windows 10 Location Service teilt ihren apps und Diensten mit, wo Sie sich befinden oder wo Sie sich befinden.Your IoT Core device with Windows 10 location service tells your apps and services where you are or where you’ve been.

Von der Version Windows 10 iotcore RS5 November 2019 "11 B" (Betriebssystemversion 17763,865), werden die Location Services für IOT Core standardmäßig so konfiguriert, dass Sie standardmäßig auf "Off" festgelegt werden.From the Windows 10 IoTCore RS5 November 2019 "11 B" release (OS version 17763.865) onwards, location services for IoT Core will be configured to be set to “off” by default. Wenn Sie OEM sind und die Location-Dienste aktivieren möchten, führen Sie die folgenden Schritte aus.If you are an OEM and would like to turn the location services to on, please follow the below steps. Dies gilt nur für IOT Core.This only applies to IoT Core.

Legen Sie unter dem Registrierungsschlüssel HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCapabilityAccessManagerCapabilitieslocationedition die folgenden Werte fest:Under the registry key HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCapabilityAccessManagerCapabilitieslocationedition,Set the following values:

  • Name = InitSystemGlobalConsentDenied value = "0" ValueType =REG_DWORDname=InitSystemGlobalConsentDenied value="0" valueType=REG_DWORD
  • Name = InitUserGlobalConsentDenied value = "0" ValueType =REG_DWORDname=InitUserGlobalConsentDenied value="0" valueType=REG_DWORD

Kit-Generatoren sollten auf https://docs.microsoft.com/windows-hardware/manufacture/iot/add-a-registry-setting-to-an-image Anweisungen zum Entwickeln eines benutzerdefinierten Images mit diesen Registrierungs Einstellungen verweisen.Kit builders should refer to https://docs.microsoft.com/windows-hardware/manufacture/iot/add-a-registry-setting-to-an-image for instructions on building a custom image with these registry settings

SSScenarios

BegriffeConcepts

Um den Prozess zum Erstellen und Bereitstellen von Windows IOT Core-Images eindeutig zu verstehen, müssen zunächst einige Konzepte und Terminologie definiert werden.In order to clearly understand the process to create and deploy Windows IoT Core images, a few concepts and terminology must be defined first.

Der Prozess zum Erstellen eines Windows IOT Core-Images umfasst eine Reihe von Schritten, die hier aufgeführt sind:The process to create a Windows IoT Core image involves a number of steps, listed here:

  1. Testen Sie alle Anpassungen, die im Abbild enthalten sein sollenTest any customization to include in the image to verify they work properly. Hierzu gehören apps, Einstellungen, Treiber oder boardunterstützungs Pakete (BSPs).These include apps, settings, drivers or Board support Packages (BSPs).
  2. Installieren Sie Test Zertifikate auf Ihrem PC, und Verpacken Sie Ihre Anpassungen in. CAB-Dateien.Install test certificates on your PC, and package your customizations into .CAB files.
  3. Erstellen Sie ein Windows 10 IOT Core-Image, das Ihre Anpassungen enthält, zusammen mit dem IOT Core-Paket und allen Updates Ihres Hardwareherstellers.Create a test Windows 10 IoT Core image that includes your customizations, along with the IoT Core package and any updates from your hardware manufacturer.
  4. Blinken Sie das Abbild auf ein Gerät, und testen Sie, ob es funktioniert.Flash the image to a device and test that it works. Sie können die in das Testbild integrierten TestTools verwenden, um eventuell auftretende Probleme zu beheben.You can use the test tools built into the test image to troubleshoot any issues that may arise.
  5. Nachdem Sie überprüft haben, dass alles ordnungsgemäß funktioniert, erhalten Sie ein gültiges Einzelhandels Zertifikat, und Signieren Sie Ihre Anpassungen mit Ihrem Einzelhandels Zertifikat.Once you've verified that everything works properly, obtain a valid retail certificate and sign your customizations with your retail certificate. Anschließend sollten Sie die Anpassung neu verpacken. CAB-Dateien.You then should repackage the customization into new .CAB files.
  6. Erstellen Sie ein Einzelhandels Image mit Ihrem signierten. CAB-Dateien und das Abbild auf Ihren Geräten.Create a retail image with your signed .CAB files, and flash the image onto your devices.

IOT Core-Image Erstellungs Prozess

BegriffsTerminology

SparPackages

Pakete (CAB-Dateien) sind die logischen Bausteine von IOT Core.Packages (.cab files) are the logical building blocks of IoT Core. Sie enthalten alle Dateien, Bibliotheken, Registrierungs Einstellungen, ausführbaren Dateien und Daten auf dem Gerät.They contain all the files, libraries, registry settings, executables, and data on the device. Von Gerätetreibern zu Systemdateien muss jede Komponente in einem Paket enthalten sein.From device drivers to system files, every component must be contained in a package. Diese modulare Architektur ermöglicht eine genaue Kontrolle der Updates: ein Paket ist die kleinste Diensteinheit auf dem Gerät.This modular architecture allows for precise control of updates: a package is the smallest serviceable unit on the device.

Jedes Paket enthält Folgendes:Each package contains:

  • Der Inhalt des Pakets, z. b. eine signierte Treiber Binärdatei oder eine signierte AppX-Binärdatei.The contents of the package, such as a signed driver binary or a signed appx binary.
  • Eine Paket Definitionsdatei (. WM. Xml) gibt den Inhalt des Pakets an und wo Sie in das endgültige Image eingefügt werden sollen.A package definition (.wm.xml) file specifies the contents of the package and where they should be placed in the final image. _ \ \ Informationen zu verschiedenen Beispielen von Paketdateien finden Sie im Verzeichnis% src dir% Packages des Windows ADK IOT Core Add-on -Kits.See %SRC_DIR%\Packages\ directory from the Windows ADK IoT Core Add-On kit for various samples of package files. Sehen Sie sich beispielsweise AppX. iotcoredefaultapp. WM. XMLan.As an example, take a look at Appx.IoTCoreDefaultApp.wm.xml.
  • Eine Signatur.A signature. Ein Paket kann mit einem Test-oder Einzelhandels Zertifikat signiert werden.A package can be signed with a test or retail certificate.

Das pkggen Tool kombiniert diese Elemente in signierten Paketen.The pkggen tool combines these items into signed packages. Unsere Beispiele umfassen Skripts: createpkg , und createprovpkg , die pkggen zum Erstellen von Paketen für Treiber, Apps und Einstellungen aufruft.Our samples include scripts: createpkg, and createprovpkg, which call pkggen to create packages for our drivers, apps, and settings.

Der Prozess ähnelt dem, der von Windows 10 Mobile verwendet wird.The process is similar to that used by Windows 10 Mobile. Weitere Informationen zum Erstellen von Paketen finden Sie unter Erstellen mobiler Pakete.To learn more about creating packages, see Creating mobile packages.

Merkmals Manifeste (SMS)Feature manifests (FMs)

Nachdem Sie alles in Pakete eingefügt haben, verwenden Sie das Featuremanifest (FM-Dateien), um aufzulisten, welche Ihrer Pakete zum endgültigen Image gehören.After you've put everything into packages, you'll use Feature Manifest (FM files) to list which of your packages belong in the final image.

Sie können beliebig viele f-Zeichen in einem Bild verwenden.You can use as many FMs into an image as you want. In diesem Handbuch werden die folgenden FMS bezeichnet:In this guide, we refer to the following FMs:

  • Oemfm. XML enthält Funktionen, die ein OEM einem Gerät hinzufügen kann, z. b. die APP und ein Bereitstellungs Paket.OEMFM.xml includes features an OEM might add to a device, such as the app and a provisioning package.
  • Bspfm. XML enthält Funktionen, mit denen ein Hardwarehersteller ein Board definieren kann.BSPFM.xml includes features that a hardware manufacturer might use to define a board. OEM _ RPi2FM. XML enthält z. b. alle Features, die für den Raspberry Pi 2 verwendet werden.For example, OEM_RPi2FM.xml includes all of the features used for the Raspberry Pi 2.

Der Prozess ähnelt dem, der von Windows 10 Mobile verwendet wird.The process is similar to that used by Windows 10 Mobile. Weitere Informationen finden Sie unter FeatureManifest-Dateiinhalt.To learn more, see Feature manifest file contents.

Mithilfe der folgenden Tags können Sie die hinzu zufügenden Features auflisten:You'll list which of the features to add by using these tags:

  • <Basepackages > : Pakete, die Sie in Ihren Images immer enthalten haben, z. b. ihre Basis-app.<BasePackages>: Packages that you always included in your images, for example, your base app.
  • <Features > \ < OEM > : andere einzelne Pakete, die für ein bestimmtes Produktdesign spezifisch sein könnten.<Features>\<OEM>: Other individual packages that might be specific to a particular product design.

Mit dem Feature Fusion-Tool werden die erforderlichen featurebezeichnerpakete generiert, die für die Wartung des Geräts erforderlich sind.The Feature Merger tool generates the required feature identifier packages that are required for servicing the device. Führen Sie dieses Tool immer dann aus, wenn Änderungen an den FM-Dateien vorgenommen werden.Run this tool whenever any changes are made to the FM files. Führen Sie nach dem Ändern der OEM-oder OEM Common FM-Dateien von OEM aus buildfm oem .After you change the OEM FM or OEM COMMON FM files, run buildfm oem. Nachdem Sie die bspfm-Datei geändert haben, führen Sie aus buildfm bsp <bspname> .After you change the BSPFM file, run buildfm bsp <bspname>. Diese Befehle werden von der IOT Core-Shell ausgeführt.These commands are run from the IoT Core shell.

Boardunterstützungs Pakete (BSPs)Board Support Packages (BSPs)

Boardunterstützungs Pakete enthalten eine Reihe von Software-, Treiber-und Start Konfigurationen für ein bestimmtes Board, das in der Regel von einem Boardhersteller bereitgestellt wird.Board Support Packages contain a set of software, drivers, and boot configurations for a particular board, typically supplied by a board manufacturer. Der Boardhersteller kann regelmäßig Updates für das Board bereitstellen, das Ihre Geräte empfangen und anwenden können.The board manufacturer may periodically provide updates for the board, which your devices can receive and apply. Sie können auch ein eigenes BSP erstellen, wenn der Boardhersteller keinen bereitstellt, und Sie über die entsprechenden Software-und Treiberdateien verfügen.You can also create your own BSP if the board manufacturer does not provide one, and you have the corresponding set of software and driver files. Hierwerden unterstützte BSPs aufgeführt.Supported BSPs are listed here.

Vollständige Flash Update-Abbild DateienFull Flash Update Image Files

Vollständige Flash Update Dateien (FFU) sind Bilddateien, die bereitgestellt werden können (auch als bezeichnet).Full Flash Update (FFU) files are image files that can be deployed (aka. "flashed") zu einem bestimmten Hardware Gerät."flashed") to a specific hardware device. Wenn Sie eine FFU-Datei auf einem Gerät ablegen, werden alle erforderlichen Software zur gleichen Zeit auf dem Gerät installiert.When you flash a FFU file onto a device, all required software is installed on that device at the same time. Eine FFU-Image Datei bündelt Start Lade Programme, das Windows-Betriebs System, Treiber, Peripherie Bilder und andere erforderliche Dateien in einem einzelnen Paket.An FFU image file bundles boot loaders, the Windows Operating System, drivers, peripheral images and any other required files into a single package.

Vordergrund-und HintergrundanwendungenForeground and Background Apps

Es gibt zwei Arten von Anwendungen, die unter Windows IOT Core ausgeführt werden können.There are two types of applications that can run on Windows IoT Core.

  • Vordergrund-apps: diese apps verfügen über eine Benutzeroberfläche.Foreground apps - these apps have a UI. Nur eine APP kann auf einem IOT-Gerät als Vordergrund-apps ausgeführt werden.Only one app can be running on an IoT device as the foreground apps. Wenn im Image mehrere Vordergrund-Apps enthalten sind, sollte beim Start nur ein automatischer Start festgelegt werden.If multiple foreground app is included in the image, only one should be set as auto start on boot.
  • Hintergrund-apps: diese apps verfügen über keine Benutzeroberfläche.Background apps - these apps do not have a UI. Mehrere Apps können auf einem IOT-Gerät als Hintergrund-apps ausgeführt werden.Multiple apps can be running on an IoT device as background apps. Sie können eine beliebige Anzahl von Hintergrund-Apps für den automatischen Start konfigurieren.You can configure any number of background apps to auto start.

Weitere Informationen finden Sie unter Vordergrund-apps oder Hintergrund-apps.For more information, please see Foreground Apps or Background Apps.

Erstellen des Images: imggen und die Bild Konfigurationsdatei (oeminput. Xml)Creating the image: ImgGen and the image configuration file (OEMInput.xml)

Um das endgültige Image zu erstellen, verwenden Sie das imggen Tool mit der Bild Konfigurationsdatei " oeminput. XML".To create the final image, you'll use the imggen tool with an image configuration file, OEMInput.xml file.

Dies sind die gleichen Tools, die zum Erstellen von Windows 10 Mobile-Images verwendet werden.These are the same tools used to create Windows 10 Mobile images. Weitere Informationen finden Sie unter Inhalt der oeminput-Datei.To learn more, see OEMInput file contents.

Die Bild Konfigurationsdatei listet Folgendes auf:The image configuration file lists:

  • Die featuremanifeste (FMS) und die Pakete, die Sie von jedem einzelnen installieren möchten.The feature manifests (FMs) and the packages that you want to install from each one.

  • Eine SOC -Chip-ID, die zum Einrichten der Geräte Partitionen verwendet wird.An SoC chip identifier, which is used to help set up the device partitions. Die unterstützten Werte für SOC sind im entsprechenden bspfm. XML-Code unter definiert <devicelayoutpackages> .The supported values for soc are defined in the corresponding bspfm.xml, under <devicelayoutpackages>.

  • Ein Geräte Bezeichner, der verwendet wird, um das Geräte Layout auszuwählen.A Device identifier, which is used to select the device layout. Die unterstützten Werte für das Gerät werden in der entsprechenden Datei "bspfm. xml" unter definiert <oemdeviceplatformpackages> .The supported values for device are defined in the corresponding bspfm.xml, under <oemdeviceplatformpackages>.

  • ReleaseType (entweder Produktion oder Test).The ReleaseType (either Production or Test).

    Einzelhandels Builds: Wir empfehlen, die Einzelhandels Images frühzeitig im Entwicklungsprozess zu erstellen, um zu überprüfen, ob alles funktioniert, wenn Sie bereit für die Bereitstellung sind.Retail builds: We recommend creating retail images early on in your development process to verify that everything will work when you are ready to ship.

    Diese Builds enthalten alle aktivierten Sicherheitsfeatures.These builds contain all of the security features enabled.

    Um diesen Buildtyp zu verwenden, muss der gesamte Code mithilfe von Code Signatur Zertifikaten für den Einzelhandel (keine Tests) signiert werden.To use this build type, all of your code must be signed using retail (not test) code signing certificates.

    Ein Beispiel finden Sie unter% src _ dir% \ Products \ samplädoyer \ retailoeminput. Xml.For a sample, see %SRC_DIR%\Products\SampleA\RetailOEMInput.xml.

    Testbuilds: Verwenden Sie diese, um neue Versionen Ihrer Apps und Treiber auszuprobieren, die von Ihnen und den Hardwarehersteller Partnern erstellt wurden.Test builds: Use these to try out new versions of your apps and drivers created by you and your hardware manufacturer partners.

    In diesen Builds sind einige Sicherheitsfunktionen deaktiviert, sodass Sie entweder Test signierte oder mit der Produktion signierte Pakete verwenden können.These builds have some security features disabled, which allows you to use either test-signed or production-signed packages.

    Zu diesen Builds zählen auch Entwicklertools wie Debug-Transport, SSH und PowerShell, mit denen Sie Probleme beheben können.These builds also include developer tools such as debug transport, SSH, and PowerShell, that you can use to help troubleshoot issues.

    Ein Beispiel finden Sie unter% src _ dir% \ Products \ samplädoyer \ testoeminput. Xml.For a sample, see %SRC_DIR%\Products\SampleA\TestOEMInput.xml.

Einzelhandels BuildsRetail builds TestbuildsTest builds
Typ der Abbild FreigabeImage release type ReleaseType: ProduktionReleaseType: Production ReleaseType: TestReleaseType: Test
Typ der Paket FreigabePackage release type Es werden nur Produktionstyp Pakete unterstützt.Only Production Type packages are supported Sowohl Produktionstyp als auch Testtyp werden unterstützt.Both Production Type or Test Type are supported
Test signierte PaketeTest-signed packages Nicht unterstütztNot supported UnterstütztSupported

IOT_ENABLE_TESTSIGNING-Funktion muss eingeschlossen werden.IOT_ENABLE_TESTSIGNING feature must be included.

Code IntegritätsprüfungCode integrity check Unterstützt.Supported. Diese ist standardmäßig aktiviert.By default, this is enabled. Unterstützt.Supported. Standardmäßig wird keine Richtlinie erzwungen.By default, no policy is enforced

OK, probieren Sie es aus!OK, let's try it!

Beginnen Sie hier: hier finden Sie die Tools zum Anpassen von Windows IOT Core.Start here: Get the tools needed to customize Windows IoT Core.