Guida alla produzione IoT Core

Nota

Per la versione precedente, vedere Guida alla produzione IoT Core per v5.x.

Pensare ai dispositivi di produzione di massa che eseguono Windows 10 IoT Core? Usare i componenti aggiuntivi Windows ADK IoT Core per creare immagini che è possibile eseguire rapidamente il flash sui nuovi dispositivi.

È possibile creare immagini di test, che includono strumenti per accedere rapidamente e modificare i dispositivi. Le immagini di test sono ideali per:

  • Sviluppatori, fornitori hardware e produttori (OEMS) che stanno provando nuove progettazioni di dispositivi.
  • Hobbyisti e organizzazioni che creano dispositivi progettati per l'esecuzione in ambienti di rete non connessi o controllati.

È possibile creare immagini di vendita al dettaglio, che possono essere rese più sicure per le reti pubbliche o aziendali durante la ricezione degli aggiornamenti.

È possibile aggiungere personalizzazioni, tra cui app, impostazioni, configurazioni hardware e pacchetti di supporto della scheda .

Per le immagini in stile OEM, si eseguirà il wrapping delle personalizzazioni nei file di pacchetto (.cab). I pacchetti consentono agli OEMs, agli sviluppatori, agli sviluppatori e a Microsoft di collaborare per offrire aggiornamenti della sicurezza e delle funzionalità ai dispositivi senza modificare il lavoro degli altri.

Il dispositivo IoT Core con Windows 10 servizio località indica alle app e ai servizi dove si è o dove si è stati.

Dalla versione di Windows 10 IoTCore RS5 novembre 2019 "11 B" (versione del sistema operativo 17763.865) in poi, i servizi di posizione per IoT Core verranno configurati per impostazione predefinita su "off". Se si è un OEM e si vuole attivare i servizi di posizione, seguire questa procedura. Questo vale solo per IoT Core.

Nella chiave HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCapabilityAccessManagerCapabilitieslocationeditiondel Registro di sistema impostare i valori seguenti:

  • name=InitSystemGlobalConsentDenied value="0" valueType=REG_DWORD
  • name=InitUserGlobalConsentDenied value="0" valueType=REG_DWORD

I generatori di kit devono fare riferimento a Lab 1c: Aggiunta di file e impostazioni del Registro di sistema a un'immagine per istruzioni sulla creazione di un'immagine personalizzata con queste impostazioni del Registro di sistema

Scenari

Concetti

Per comprendere chiaramente il processo di creazione e distribuzione di immagini Windows IoT Core, è necessario definire prima alcuni concetti e terminologia.

Il processo per creare un'immagine Windows IoT Core prevede diversi passaggi, elencati qui:

  1. Testare qualsiasi personalizzazione da includere nell'immagine per verificare che funzionino correttamente. Queste includono app, impostazioni, driver o pacchetti di supporto della scheda.
  2. Installare i certificati di test nel PC e creare il pacchetto delle personalizzazioni in file di .CAB.
  3. Creare un'immagine di test Windows 10 IoT Core che include le personalizzazioni, insieme al pacchetto IoT Core e agli aggiornamenti del produttore hardware.
  4. Flashare l'immagine in un dispositivo e verificare che funzioni. È possibile usare gli strumenti di test incorporati nell'immagine di test per risolvere eventuali problemi che potrebbero verificarsi.
  5. Dopo aver verificato che tutto funzioni correttamente, ottenere un certificato di vendita al dettaglio valido e firmare le personalizzazioni con il certificato di vendita al dettaglio. È quindi consigliabile riconfezionare la personalizzazione in nuovi file di .CAB.
  6. Creare un'immagine di vendita al dettaglio con i file di .CAB firmati e flashare l'immagine nei dispositivi.

Processo di creazione di immagini iot core

Terminologia

Pacchetti

I pacchetti (file .cab) sono i blocchi predefiniti logici di IoT Core. Contengono tutti i file, le librerie, le impostazioni del Registro di sistema, i file eseguibili e i dati nel dispositivo. Dai driver di dispositivo ai file di sistema, ogni componente deve essere contenuto in un pacchetto. Questa architettura modulare consente un controllo preciso degli aggiornamenti: un pacchetto è l'unità più piccola del dispositivo.

Ogni pacchetto contiene:

  • Contenuto del pacchetto, ad esempio un file binario del driver firmato o un file binario appx firmato.
  • Un file di definizione del pacchetto (.wm.xml) specifica il contenuto del pacchetto e la posizione in cui devono essere inseriti nell'immagine finale. Vedere la directory %SRC_DIR%\Packages\ dal kit componente aggiuntivo Windows ADK IoT Core per vari esempi di file di pacchetto. Ad esempio, esaminare Appx.IoTCoreDefaultApp.wm.xml.
  • Firma. Un pacchetto può essere firmato con un certificato di test o vendita al dettaglio.

Lo pkggen strumento combina questi elementi nei pacchetti firmati. Gli esempi includono script: createpkge , createprovpkgche chiama pkggen per creare pacchetti per i driver, le app e le impostazioni.

Manifesti delle funzionalità (FMS)

Dopo aver inserito tutto nei pacchetti, si userà Il manifesto delle funzionalità (file FM) per elencare quali pacchetti appartengono all'immagine finale.

È possibile usare il numero di macchine virtuali in un'immagine desiderata. In questa guida si fa riferimento alle macchine virtuali seguenti:

  • OEMFM.xml include funzionalità che un OEM potrebbe aggiungere a un dispositivo, ad esempio l'app e un pacchetto di provisioning.
  • BSPFM.xml include funzionalità che un produttore hardware potrebbe usare per definire una scheda. Ad esempio, OEM_RPi2FM.xml include tutte le funzionalità usate per Raspberry Pi 2.

Verranno elencate le funzionalità da aggiungere usando questi tag:

  • <BasePackages>: pacchetti sempre inclusi nelle immagini, ad esempio l'app di base.
  • <Features>\<OEM>: altri singoli pacchetti che potrebbero essere specifici di una particolare progettazione del prodotto.

Lo strumento Di fusione funzionalità genera i pacchetti di identificatore di funzionalità necessari per la manutenzione del dispositivo. Eseguire questo strumento ogni volta che vengono apportate modifiche ai file FM. Dopo aver modificato i file FM OEM o OEM COMMON FM, eseguire buildfm oem. Dopo aver modificato il file BSPFM, eseguire buildfm bsp <bspname>. Questi comandi vengono eseguiti dalla shell IoT Core.

Pacchetti di supporto della scheda (BSP)

I pacchetti di supporto della scheda contengono un set di configurazioni software, driver e avvio per una scheda specifica, in genere fornita da un produttore di scheda. Il produttore della scheda può fornire periodicamente aggiornamenti per la scheda, che i dispositivi possono ricevere e applicare. È anche possibile creare il proprio BSP se il produttore della scheda non ne fornisce uno e si dispone del set corrispondente di file software e driver. I BSP supportati sono elencati qui.

File di immagine di aggiornamento flash completi

I file FFU (Full Flash Update) sono file di immagine che possono essere distribuiti (aka). "flashed") a un dispositivo hardware specifico. Quando si esegue il flash di un file FFU in un dispositivo, tutto il software richiesto viene installato nel dispositivo contemporaneamente. Un file di immagine FFU raggruppa i caricatori di avvio, il sistema operativo Windows, i driver, le immagini periferiche e tutti gli altri file necessari in un singolo pacchetto.

App in primo piano e in background

Esistono due tipi di applicazioni che possono essere eseguite in Windows IoT Core.

  • App in primo piano: queste app hanno un'interfaccia utente. Solo un'app può essere in esecuzione in un dispositivo IoT come app in primo piano. Se nell'immagine è inclusa più app in primo piano, è necessario impostare solo come avvio automatico.
  • App in background: queste app non hanno un'interfaccia utente. Più app possono essere eseguite in un dispositivo IoT come app in background. È possibile configurare qualsiasi numero di app in background per l'avvio automatico.

Per altre informazioni, vedere App in primo piano o App in background.

Creazione dell'immagine: ImgGen e il file di configurazione dell'immagine (OEMInput.xml)

Per creare l'immagine finale, si userà lo imggen strumento con un file di configurazione dell'immagine ,OEMInput.xml file.

Elenco dei file di configurazione dell'immagine:

  • I manifesti delle funzionalità e i pacchetti che si desidera installare da ognuno di essi.

  • Identificatore del chip SoC , usato per configurare le partizioni del dispositivo. I valori supportati per soc sono definiti nei bspfm.xml corrispondenti, in <devicelayoutpackages>.

  • Identificatore del dispositivo, usato per selezionare il layout del dispositivo. I valori supportati per il dispositivo sono definiti nel bspfm.xml corrispondente, in <oemdeviceplatformpackages>.

  • ReleaseType ( produzione o test).

    Build di vendita al dettaglio: è consigliabile creare immagini di vendita al dettaglio nelle fasi iniziali del processo di sviluppo per verificare che tutto funzioni quando si è pronti per la spedizione.

    Queste compilazioni contengono tutte le funzionalità di sicurezza abilitate.

    Per usare questo tipo di compilazione, tutto il codice deve essere firmato usando certificati di firma del codice retail (non di test).

    Per un esempio, vedere %SRC_DIR%\Products\SampleA\RetailOEMInput.xml.

    Build di test: usare queste funzionalità per provare nuove versioni delle app e dei driver creati dall'utente e dai partner del produttore dell'hardware.

    Queste compilazioni hanno alcune funzionalità di sicurezza disabilitate, che consentono di usare pacchetti firmati da test o firmati dall'ambiente di produzione.

    Queste build includono anche strumenti di sviluppo come il trasporto di debug, SSH e PowerShell, che è possibile usare per risolvere i problemi.

    Per un esempio, vedere %SRC_DIR%\Products\SampleA\TestOEMInput.xml.

Area Build di vendita al dettaglio Compilazioni di test
Tipo di versione dell'immagine ReleaseType: Produzione ReleaseType: Test
Tipo di versione del pacchetto Sono supportati solo i pacchetti di tipo di produzione Sono supportati sia il tipo di produzione che il tipo di test
Pacchetti firmati da test Non supportato È necessario includere la funzionalità IOT_ENABLE_TESTSIGNING supportata
.
Controllo dell'integrità del codice Supportata. Per impostazione predefinita, questa opzione è abilitata. Supportata. Per impostazione predefinita, non viene applicato alcun criterio

Ok, proviamolo

Iniziare da qui: ottenere gli strumenti necessari per personalizzare Windows IoT Core.