IoT 核心版製造指南
注意
如需舊版,請參閱 v5.x 的 IoT 核心版製造指南。
正在思考大規模執行Windows 10 IoT 核心版的裝置嗎? 使用 Windows ADK IoT 核心版附加元件 來建立映射,以快速刷新到新的裝置。
您可以建立 測試映射,其中包括可快速存取和修改裝置的工具。 測試影像非常適合:
- 正在試用新裝置設計的開發人員、硬體廠商和製造商 (OEM) 。
- 建立設計為在非網路或受控制網路環境中執行的裝置的愛人和組織。
您可以建立 零售映射,以針對公用或公司網路建立更安全的映射,同時仍會收到更新。
您可以新增自訂專案,包括應用程式、設定、硬體設定和麵板支援套件, (BSP) 。
針對 OEM 樣式的影像,您會將自訂專案包裝成套件 (.cab) 檔案。 套件可讓 OEM、ODM、開發人員和 Microsoft 共同合作,協助將安全性和功能更新傳遞給您的裝置,而不需要彼此的工作進行自訂。
具有Windows 10位置服務的 IoT 核心版裝置會告訴您的應用程式和服務,或您位於何處。
從 Windows 10 IoTCore RS5 2019 年 11 月的 「11 B」 版本 (OS 17763.865) 更新版本開始,IoT 核心版的位置服務預設會設定為 [關閉]。 如果您是 OEM,而且想要開啟位置服務,請遵循下列步驟。 這只適用于 IoT 核心版。
在登錄機碼 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionCapabilityAccessManagerCapabilitieslocationedition
底下,設定下列值:
- name=
InitSystemGlobalConsentDenied
value=「0」 valueType=REG_DWORD
- name=
InitUserGlobalConsentDenied
value=「0」 valueType=REG_DWORD
套件產生器應參考 實驗室 1c:將檔案 () 和登錄設定新增至映射 ,以取得使用這些登錄設定建置自訂映射的指示
案例
- 取得自訂 Windows IoT 核心版所需的工具
- 實驗室 1a:建立基本映像
- 實驗室 1b:將應用程式新增至您的映像
- 實驗室 1c:將檔案和登錄設定新增至映像
- 實驗室 1d:將網路和其他布建套件設定新增至映射
- 實驗室 1e:將驅動程式新增至映像
- 實驗室 1f:建置零售映射
- 實驗室 2:建立您自己的面板支援套件
- 實驗室 3:更新您的應用程式
概念
若要清楚瞭解建立和部署 Windows IoT 核心版映射的程式,必須先定義一些概念和術語。
建立 Windows IoT 核心版映射的套裝程式含一些步驟,如下所列:
- 測試任何自訂專案以包含在映射中,以確認它們可正常運作。 其中包括應用程式、設定、驅動程式或面板支援套件 (BSP) 。
- 在您的電腦上安裝測試憑證,並將您的自訂封裝到.CAB檔案中。
- 建立包含自訂專案的測試Windows 10 IoT 核心版映射,以及來自硬體製造商的 IoT 核心版套件和任何更新。
- 將映射閃爍至裝置,並測試其運作方式。 您可以使用測試映射內建的測試控管,針對可能發生的任何問題進行疑難排解。
- 確認一切正常運作之後,請取得有效的零售憑證,並使用您的零售憑證簽署您的自訂專案。 然後,您應該將自訂重新封裝到新的.CAB檔案。
- 使用已簽署的.CAB檔案建立零售映射,並將映射刷新到您的裝置上。
詞彙
套件
套件 (.cab 檔案) 是 IoT 核心版的邏輯建置組塊。 它們包含裝置上的所有檔案、程式庫、登錄設定、可執行檔和資料。 從設備磁碟機到系統檔案,每個元件都必須包含在套件中。 此模組化架構可讓您精確控制更新:套件是裝置上最小的可服務單位。
每個套件都包含:
- 套件的內容,例如已簽署的驅動程式二進位檔或已簽署的 appx 二進位檔。
- 套件定義 (.wm.xml) 檔案會指定套件的內容,以及它們應該放在最終映射的位置。 如需套件檔案的各種範例,請參閱 Windows ADK IoT 核心附加元件 套件中的 %SRC_DIR%\Packages\ 目錄。 例如,請查看 Appx.IoTCoreDefaultApp.wm.xml。
- 簽章。 您可以使用測試或零售憑證簽署套件。
此工具 pkggen
會將這些專案合併成已簽署的套件。 我們的範例包括腳本: createpkg
、 和 createprovpkg
,其會呼叫 pkggen 來建立驅動程式、應用程式和設定的套件。
(FMS) 的功能資訊清單
將所有專案放入套件之後,您將使用功能資訊清單 (FM 檔案) 列出您的套件屬於最終映射。
您可以視需要使用多少 FM 到映射中。 在本指南中,我們會參考下列 FMS:
- OEMFM.xml 包含 OEM 可能會新增至裝置的功能,例如應用程式和布建套件。
- BSPFM.xml 包含硬體製造商可用來定義面板的功能。 例如,OEM_RPi2FM.xml包含用於 Raspberry Pi 2 的所有功能。
您將使用這些標籤列出要新增哪些功能:
- <BasePackages > :您一律包含在映射中的套件,例如您的基底應用程式。
- <功能 > \ < OEM > :可能專屬於特定產品設計的其他個別套件。
功能合併工具會產生維護裝置所需的必要功能識別碼套件。 每當對 FM 檔案進行任何變更時,請執行此工具。 變更 OEM FM 或 OEM COMMON FM 檔案之後,請執行 buildfm oem
。 變更 BSPFM 檔案之後,請執行 buildfm bsp <bspname>
。 這些命令是從 IoT 核心殼層執行。
面板支援套件 (BSP)
面板支援套件包含一組特定面板的軟體、驅動程式和開機設定,通常是由面板製造商提供。 面板製造商可能會定期提供面板的更新,讓您的裝置可以接收並套用。 如果面板製造商未提供 BSP,而且您有一組對應的軟體和驅動程式檔案,您也可以建立自己的 BSP。 此處 列出支援的BSP。
完整快閃更新映射檔
完整快閃更新 (FFU) 檔案是可以部署 (映射檔。「快閃」) 到特定硬體裝置。 當您將 FFU 檔案快閃到裝置上時,所有必要軟體都會同時安裝在該裝置上。 FFU 映射檔會將開機載入器、Windows 作業系統、驅動程式、周邊映射和任何其他必要檔案組合成單一套件。
前景和背景應用程式
有兩種類型的應用程式可以在 Windows IoT 核心版上執行。
- 前景應用程式 - 這些應用程式具有 UI。 只有一個應用程式可以在 IoT 裝置上作為前景應用程式執行。 如果映射中包含多個前景應用程式,就應該在開機時將一個應用程式設定為自動啟動。
- 背景應用程式 - 這些應用程式沒有 UI。 多個應用程式可以在 IoT 裝置上以背景應用程式的形式執行。 您可以設定任意數目的背景應用程式來自動啟動。
建立映射:ImgGen 和映射組態檔 (OEMInput.xml)
若要建立最終映射,您將使用 imggen
此工具搭配映射組態檔, OEMInput.xml檔案。
映射組態檔會列出:
功能資訊清單 (FM) ,以及您想要從每一個 VM 安裝的套件。
SoC晶片識別碼,用來協助設定裝置磁碟分割。 soc的支援值定義在 devicelayoutpackages > 下的 < 對應bspfm.xml中。
裝置識別碼,用來選取裝置配置。 裝置的支援值定義在 oemdeviceplatformpackages > 下的 < 對應bspfm.xml中。
ReleaseType (Production 或 Test) 。
零售組建:建議您在開發程式中提早建立零售映射,以確認當您準備好寄送時,所有專案都會運作。
這些組建包含所有已啟用的安全性功能。
若要使用此組建類型,所有程式碼都必須使用零售簽署 (不要測試程式碼簽署憑證) 。
如需範例,請參閱 %SRC_DIR%\Products\SampleA\RetailOEMInput.xml。
測試組建:使用這些組建來試用您和硬體製造商合作夥伴所建立的新版本應用程式和驅動程式。
這些組建已停用一些安全性功能,可讓您使用測試簽署或生產簽署的套件。
這些組建也包含開發人員工具,例如偵錯傳輸、SSH 和 PowerShell,可用來協助疑難排解問題。
如需範例,請參閱 %SRC_DIR%\Products\SampleA\TestOEMInput.xml。
區域 | 零售組建 | 測試組建 |
---|---|---|
映射發行類型 | ReleaseType: Production | ReleaseType: 測試 |
套件發行類型 | 僅支援生產類型套件 | 同時支援生產類型或測試類型 |
測試簽署的套件 | 不支援 | 必須包含支援的 IOT_ENABLE_TESTSIGNING功能。 |
程式碼完整性檢查 | 支援。 根據預設,這會啟用。 | 支援。 根據預設,不會強制執行任何原則 |
確定,讓我們試試看
從這裡開始: 取得自訂 Windows IoT 核心版所需的工具。