裝置更新中心使用者指南
裝置更新中心入口網站提供 OEM 方法來:
- 將 OEM 自訂套件 (OCP) 發佈至 Windows Update Cloud
- 根據正式發行前小眾測試版套件將 OEM 自訂套件傳送至其裝置
- 根據正式發行前小眾測試版更新其裝置的正式發行前小眾測試版 OS 更新
裝置更新中心的必要條件
開始註冊程式之前,請先檢閱下列需求:
您必須具有延伸驗證 (EV) 程式碼簽署憑證。 請檢查貴公司是否已經有程式碼簽署憑證。 如果您的公司已經有憑證,請讓憑證可供使用。 您需要憑證才能簽署檔案. 如果您的公司沒有憑證,您必須在註冊程式中購買一個憑證。
您必須以組織的 Azure Active Directory 全域管理員身分登入。 如果您不知道您的組織是否有 Azure Active Directory,請連絡 IT 部門。 如果您的組織沒有 Azure Active Directory,您將可以免費建立一個。
您必須擁有代表貴組織簽署法律合約的授權單位。
步驟 1:設定
註冊
建立 Windows 硬體開發人員中心帳戶 ,以存取裝置更新中心 (DUC) 。 您將需要:
- 擴充驗證 (EV) 程式碼簽署憑證:用來驗證提交更新的更新 cab 檔案
- 具有系統管理員許可權的 Azure Active Directory (AAD) 帳戶:用來簽署法律合約
如需註冊程式的詳細指示,請參閱 註冊硬體計畫 。
使用系統管理員角色登入硬體開發人員中心,並為組織中的其他使用者指定角色。 您將需要:
- 更新提交的驅動程式提交者 角色
- 更新正式發行前小眾測試的出貨標籤擁有者角色
如需詳細指示 ,請參閱變更使用者的角色 。
安裝工具
- Windows ADK) (Windows 評定與部署套件
- IoT 核心版 ADK 附加元件
- Windows 10 IoT 核心版套件
- 從晶片廠商取得您平臺的 BSP。 請參閱BSP Windows 10 IoT 核心版
設定環境
啟動 IoTCorePShell (會啟動提升許可權的命令提示字元) ,並建立/開啟您的工作區
new-ws C:\MyWorkspace <oemname> <arch> (or) open-ws C:\MyWorkspace
請注意,OEM 自訂套件的初始版本設定為 10.0.0.0。
設定裝置更新中心中使用的 EV 憑證,以及工作區中的程式碼簽署憑證。
<!--Specify the retail signing certificate details, Format given below --> <RetailSignToolParam>/s my /i "Issuer" /n "Subject" /ac "C:\CrossCertRoot.cer" /fd SHA256</RetailSignToolParam> <!--Specify the ev signing certificate details, Format given below --> <EVSignToolParam>/s my /i "Issuer" /n "Subject" /fd SHA256</EVSignToolParam>
- 根據憑證詳細資料更新「簽發者」、「主體」。
- CrossCertRoot.cer 對應至跨 憑證清單中發佈的交叉簽署憑證根憑證。
您可以使用用於硬體開發人員中心的相同 EV 憑證,或只針對程式碼簽署目的取得不同的憑證。 建議針對每個用途保留個別的憑證。
步驟 2:建立新產品
使用Add-IoTProduct建立新產品
Add-IoTProduct <productname> <bspname> (or) newproduct <productname> <bspname>
出現提示時提供 SMBIOS 資訊。 針對 Qualcomm,這會儲存在 SMBIOS.cfg 檔案中。 對於其他平臺,您必須更新 BIOS 以反映這些值。
如需強制 SMBIOS 欄位,請參閱 OEM 授權需求 。 更新中使用的索引鍵欄位如下:
更新入口網站中稱為 裝置型號的系統產品名稱。
基底板產品,在更新入口網站中稱為 硬體變體識別碼。
請注意,
IoTDeviceModel_<productname>.xml
也會建立 。 這會用於在下一個步驟中註冊裝置型號。
步驟 3:在裝置更新中心註冊裝置型號
在 [裝置更新中心] 入口網站中,選取 [新增裝置型號]。
流覽您的檔案,然後從您的工作區中選取
IoTDeviceModel_<productname>.xml
。確認裝置型號規格,然後按 [提交]。
新的裝置型號專案將會新增至裝置型號資料表。 您也會在該資料表中看到 下載 連結。
下載 zip 檔案 (CUSConfig.zip)
建置裝置的基底映射
在 IoTCoreShell 中,使用Import-IoTDUCConfig匯入組態檔
Import-IoTDUCConfig <productname> "C:\Downloads\CUSConfig.zip" (or) importcfg <productname> "C:\Downloads\CUSConfig.zip"
這也會編輯 OEMInputXML 檔案,以包含必要的 FM 檔案和功能識別碼。 如果存在,這也會移除 IOT_GENERIC_POP 功能。
使用Add-IoTSignature和Redo-IoTCabSignature簽署所有必要的二進位檔
# enable retail signing Set-IoTRetailSign On (or) retailsign On # sign all binaries in the workspace Add-IoTSignature C:\MyWorkspace *.sys,*.dll,*.exe (or) signbinaries C:\MyWorkspace *.sys,*.dll,*.exe # re-sign prebuilt bsp cabs if applicable Redo-IoTCabSignature <srcbspdir> <dstbspdir>
使用下列命令建置基底映射
# build all packages buildpkg All # build the image buildimage <productname> <retail/test> # build recovery image, if recovery mechanism needed buildrecovery <productname> <retail/test>
這可讓您使用 OEM 自訂套件 10.0.0.0 版的基底映射。
驗證裝置上的此映射。
步驟 4:發佈更新
到目前為止,我們已建立可更新的映射,可用來製造和寄送裝置。 在此步驟中,我們將探討建立更新套件並在入口網站中發佈更新套件的程式。
建立更新套件
使用Set-IoTCabVersion先更新版本號碼
Set-IoTCabVersion <a.b.c.d> (or) setversion <a.b.c.d>
請確定 a.b.c.d 的版本高於先前的版本集。
如果有新版本的 BSP 驅動程式可用,請將它們複製到先前 (範例中的 BSP 資料夾設定,
C:\BSP
) 。 或者,將所有更新的驅動程式保留在不同的資料夾中,C:\BSPv2
例如,並更新您的工作區 xml。如果有新版本的現有 appx,請使用相同名稱建立新的 appx。 請注意,產生的customizations.xml識別碼會與舊版相同。
如果有更新的驅動程式版本可用,請更新二進位檔和封裝 xml 檔案。
視需要更新任何其他套件內容。
使用Add-IoTSignature和Redo-IoTCabSignature簽署所有必要的二進位檔
# enable retail signing Set-IoTRetailSign On (or) retailsign On # sign all binaries in the workspace Add-IoTSignature C:\MyWorkspace *.sys,*.dll,*.exe (or) signbinaries C:\MyWorkspace *.sys,*.dll,*.exe # re-sign prebuilt bsp cabs if applicable Redo-IoTCabSignature <srcbspdir> <dstbspdir>
使用下列命令建置更新映射
# build all packages buildpkg All # build the image buildimage <productname> <retail/test> # build recovery image, if recovery mechanism needed buildrecovery <productname> <retail/test>
這可讓您使用 OEM 自訂套件版本 < a.b.c.d > 的基底映射。
驗證裝置上的此映射,以確定裝置會開機並包含所有更新。
成功驗證更新組建之後,請使用Export-IoTDUCCab 匯出必要的套件
Export-IoTDUCCab <productname> <retail/test> (or) exportpkgs <productname> <retail/test>
<productname>_OCP_<version>.cab
將會在<workspacedir>\Build\<arch>\<productname>\<config>\<version>\
資料夾中建立,以及<productname>_OCP_pkgver.txt
列出隨附的 cab 及其版本資訊的檔案。 此 cab 將會使用工作區 xml 中設定的 EV 憑證簽署。
發佈更新
在 [裝置更新中心] 入口網站中,選取 [裝置型號] 資料表中的 [裝置型號]
選取[更新提交>][新增自訂套件]
流覽您的檔案,然後從您的工作區中選取
<productname>_OCP_<version>.cab
。確認發行版本本資訊,然後按 [發佈]。
發行提交會經過下列程式:
驗證:檢查上傳套件的內容是否有真實性和正確性
簽署:使用 microsoft 憑證簽署 cabs,以發佈至 Windows Update
發佈:實際發佈步驟至 Windows Update
完成:完成發佈程式
您可以按一下 [ 狀態 ] 連結來檢查發佈程式的狀態。 這個程序需要一些時間才能完成。
步驟 5:目標更新
成功發佈更新之後,您現在可以藉由指定目標規則來控制傳遞程式。
選取[更新正式發行前小眾測試版],然後選取 [新增正式發行前小眾測試版]
在 [新增正式發行前小眾測試版] 對話方塊中:
a. 指定環形 (
Preview
/ /EarlyAdopter
GeneralAvailability
) ,例如 Preview。 請注意,下載並包含在映射中的 xml 檔案,預設會將此值設定為GeneralAvailability預覽 通道:更新一組有限的裝置,大部分是在實驗室中
EarlyAdopter 通道:在使用者環境中更新中等數量的裝置,包括自我裝載裝置
GeneralAvailability 通道:更新市場中的每個裝置
b. 如果您想要指定新的 OS 版本,請選取 [OS 版本] 方塊,然後選取必要的 OS 版本
c. 如果您想要指定新的 OEM 自訂套件版本,然後選取必要的 OEM 自訂套件版本,例如 a.b.c.d,請選取 OEM 自訂套件版本方塊
d. 選取 [下一步]
注意
先將 OS 版本更新為 10.0.17763.615,以支援 SHA-2 簽署。 如需詳細資訊,請參閱下方的 SHA1 取代 IoT 核心版一節。
在 [ 確認正式發行前小眾測試版] 對話方塊中,選取 [發佈]。 目標提交會經過包含的程式
驗證:驗證目標規則的正確性
目標:在Windows Update上設定的實際組態
完成:完成目的程式
您可以按一下 [ 狀態 ] 連結來檢查發佈程式的狀態。
此時,Windows Update系統會設定為將必要的更新套件傳遞至裝置。 設定傳播前可能需要數小時的時間。
步驟 6:驗證裝置上的更新
現在 Windows 更新上已有更新可用,您現在可以驗證裝置上的更新。 提供通道以啟用分段推出更新,從預覽開始,以及 EarlyAdopter、GeneralAvailability。
將您的裝置設定為預覽通道。 這可以使用Azure DM API或更新 UWP API來設定
讓裝置掃描更新,裝置會根據) 設定的更新原則,偵測已發佈的更新、下載並自動安裝 (。
此程式可能需要 24 小時以上的時間,視掃描時間和使用時間設定而定。
IoT 核心的 SHA1 淘汰
Windows 10 IoT 核心版 OS 的 SHA1 淘汰已推出,且僅支援 SHA-2,從Windows 10 1809 年 7 月更新 (10.0.17763.615) 開始啟用 IoTCore 1809 版。 從 2019 年 11 月開始,所有 OEM 自訂套件只會使用 SHA-2 簽章簽署,而且所有裝置都應該先更新為Windows 10 1809 7 月更新 (10.0.17763.615) 或更新版本,以以 SHA-2 簽署的 OEM 自訂套件為目標。
注意
SHA-2 簽署的更新無法在 10.0.17763.611 之前的作業系統版本中安裝。 建議您先將裝置 OS 更新為至少此版本,然後再以 OEM 自訂套件更新為目標。
對於執行 Windows 10 IoTCore 版本 1803 的裝置,您必須更新至Windows 10 IoTCore 1803 版 7 月更新 (10.0.17134.885) 。 我們強烈建議將 1803 個裝置更新為 1809 年 7 月更新版本。
OEM 簽署和跨憑證根目錄到期
交叉簽署的根憑證是 SHA1,且將在 到期日之前受到支援。 此到期不會影響映射中已經簽署的驅動程式,且會影響到期日之後的新驅動程式簽署。
重要
從 Windows 10 IoT 核心版 2020 年 11 月 10 日 1809 版 1809 版開始, (17763.1577) ,支援 OEM 核心驅動程式簽署。 如此一來,程式碼簽署憑證就不需要鏈結至跨簽署的根目錄。 OEM 簽署需要針對零售和測試映射啟用安全開機和裝置防護功能。 如需工具更新和範例憑證,請參閱 IoT-ADK-AddonKit 17763-v7 分支。
如需 SHA1 淘汰的詳細資訊,請參閱下列連結: