デバイス更新センタ― ユーザー ガイド

デバイス更新センタ― ポータルでは、OEM に次を行う手段を提供します。

  • OEM カスタム パッケージ (OCP) を Windows Update クラウドに発行する
  • フライト リングに基づいて OEM カスタム パッケージを自身のデバイスにフライトする
  • フライト リングに基づいて OS の更新プログラムを自身のデバイスにフライトする

デバイス更新センタ―の前提条件

登録プロセスを開始する前に、次の要件を確認します。

  • 拡張検証 (EV) コード署名証明書が必要です。 会社にコード署名証明書が既にあるかどうかを確認してください。 会社に既に証明書がある場合は、その証明書を使用できます。 ファイルに署名するには証明書が必要です. 会社に証明書がない場合は、登録プロセスの中で購入する必要があります。

  • 全体管理者として組織の Azure Active Directory にサインインする必要があります。 組織に Azure Active Directory があるかどうかわからない場合は、IT 部門に確認してください。 組織に Azure Active Directory がない場合は、無料で作成できます

  • 組織を代表して契約書に署名する権限が必要です。

手順 1: セットアップする

サインアップ

  1. Windows ハードウェア デベロッパー センター アカウントを作成して、デバイス更新センター (DUC) にアクセスします。 以下のものが必要になります。

    • 拡張検証 (EV) コード署名証明書: 更新のために送信された更新 cab ファイルを検証するために使用されます
    • 管理者権限を備えた Azure Active Directory (AAD) アカウント: 法的契約に署名するために使用されます

    登録プロセスについて詳しくは、「ハードウェア プログラムの登録」をご覧ください。

  2. Windows 10 IoT Core Services にサインアップします

  3. 管理者ロールでハードウェア デベロッパー センターにログインし、組織内の他のユーザーのロールを指定します。 以下のものが必要になります。

    • 申請の更新のためのドライバーの提出者ロール
    • フライティングの更新のための配送先住所ラベルの所有者ロール

    詳細な手順については、「 ユーザーのロールを変更 する」を参照してください。

ツールのインストール

  1. Windows アセスメント & デプロイメント キット (Windows ADK)
  2. IoT Core ADK アドオン
  3. Windows 10 IoT Core パッケージ
  4. シリコン ベンダーからプラットフォームの BSP を取得します。 Windows 10 IoT Core BSP に関するページを参照してください

環境を設定する

  1. IoTCorePShell を起動 (管理者特権でのコマンド プロンプトを起動) し、ワークスペースを作成するか開きます

    new-ws C:\MyWorkspace <oemname> <arch>
    (or)
    open-ws C:\MyWorkspace
    

    OEM カスタム パッケージの初期バージョンは 10.0.0.0 に設定されていることに注意してください。

  2. ワークスペースでデバイス更新センターで使用される 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: 新しい製品を作成する

  1. Add-IoTProduct を使用して新しい製品を作成します

    Add-IoTProduct <productname> <bspname>
    (or) newproduct <productname> <bspname>
    
  2. 入力を求められたら、SMBIOS 情報を入力します。 Qualcomm の場合、これは SMBIOS.cfg ファイルに格納されます。 他のプラットフォームでは、これらの値を反映するように BIOS を更新する必要があります。

    必須の SMBIOS フィールドについては、「OEM ライセンス要件」を参照してください。 更新で使用される主なフィールドは次のとおりです。

    • システムの製品名: 更新ポータルではデバイス モデル と呼ばれます。

    • ベース ボード製品: 更新ポータルではハードウェア バリアント ID と呼ばれます。

    IoTDeviceModel_<productname>.xml も作成されることに注意してください。 これは、次の手順でデバイス モデルを登録するために使用されます。

    スクリーンショット - Powershell の新製品

手順 3: デバイス更新センタ―にデバイス モデルを登録する

  1. デバイス更新センタ― ポータルで [新しいデバイス モデル] を選択します。

    新しいデバイス モデル - 選択

  2. ファイルを参照し、ワークスペースから IoTDeviceModel_<productname>.xml を選びます。

    新しいデバイス モデル - ワークスペース

  3. デバイス モデルの仕様を確認し、[送信] を押します。

    新しいデバイス モデル - 送信

    新しいデバイス モデル エントリがデバイス モデル テーブルに追加されます。 そのテーブルにはダウンロード リンクも表示されます。

  4. zip ファイル (CUSConfig.zip) をダウンロードします

デバイスの基本イメージをビルドする

  1. IoTCoreShell で、Import-IoTDUCConfig を使用して構成ファイルをインポートします

    Import-IoTDUCConfig <productname> "C:\Downloads\CUSConfig.zip"
    (or) importcfg <productname> "C:\Downloads\CUSConfig.zip"
    

    これにより、必要な FM ファイルと機能 ID を含めるために OEMInputXML ファイルも編集されます。 これにより、IOT_GENERIC_POP 機能も削除されます (存在する場合)。

    構成ファイルのインポート

  2. Add-IoTSignatureRedo-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>
    
  3. 次のコマンドを使用して基本イメージをビルドします

    # 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. デバイスでこのイメージを検証します。

手順 4: 更新プログラムを発行する

これまでに、デバイスの製造と出荷に使用できる更新可能なイメージを作成しました。 この手順では、更新プログラム パッケージを作成してポータルで発行する手順について説明します。

更新プログラム パッケージを作成する

  1. Set-IoTCabVersion を使用して最初にバージョン番号を更新します

    Set-IoTCabVersion <a.b.c.d>
    (or) setversion <a.b.c.d>
    

    a.b.c.d が以前のバージョン セットより新しいバージョンであることを確認します。

  2. BSP ドライバーの新しいバージョンが使用可能な場合は、それらを前に設定した BSP フォルダー (例: C:\BSP) にコピーします。 または、更新されたすべてのドライバーを別のフォルダー (C:\BSPv2 など) に保持し、ワークスペース xml を更新します。

  3. 既存の appx の新しいバージョンがある場合は、同じ名前で新しい appx を作成します。 生成された customizations.xml の ID は、以前のバージョンと同じになることに注意してください。

  4. ドライバーの更新されたバージョンを使用できる場合は、バイナリと packaging.xml ファイルの両方を更新します。

  5. 必要に応じ、その他のパッケージの内容を更新します。

  6. Add-IoTSignatureRedo-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>
    
  7. 次のコマンドを使用して更新プログラムのイメージをビルドします

    # 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> の基本イメージが提供されます。

  8. デバイスでこのイメージを検証して、すべての更新プログラムが含まれている状態でデバイスが起動することを確認します。

  9. 更新プログラムのビルドの検証が成功したら、Export-IoTDUCCab を使用して必要なパッケージをエクスポートします

    Export-IoTDUCCab <productname> <retail/test>
    (or) exportpkgs <productname> <retail/test>
    

    <productname>_OCP_<version>.cab は、含まれている cab とそのバージョン情報を一覧表示する <productname>_OCP_pkgver.txt ファイルとともに、<workspacedir>\Build\<arch>\<productname>\<config>\<version>\ フォルダー内に作成されます。 この cab は、ワークスペース xml で構成された EV 証明書で署名されます。

更新プログラムを発行する

  1. デバイス更新センタ― ポータルの [デバイス モデル] テーブルで [デバイス モデル] を選択します

  2. [申請の更新]>[新しいカスタム パッケージ] を選択します

    新しいカスタム パッケージ

  3. ファイルを参照し、ワークスペースから <productname>_OCP_<version>.cab を選びます。

    新しいカスタム パッケージ - 選択

  4. リリース バージョン情報を確認し、[発行] を押します。

    リリース申請は、次で構成されるプロセスを経て行います。

    • 検証: アップロードされたパッケージの内容をチェックして、信頼性と正確性を確認します

    • 署名: Windows Update に公開するために Microsoft証明書で cab に署名します

    • 発行: Windows Update への実際の発行手順

    • 最終処理: 発行プロセスを完了します

  5. 発行プロセスの状態を確認するには、[状態] リンクをクリックします。 このプロセスは完了するまで時間がかかります。

    新しいカスタム パッケージ - 状態

手順 5: 更新プログラムのターゲット設定

更新プログラムの発行が正常に完了したら、ターゲット ルールを指定して配信プロセスを制御できます。

  1. [フライティングの更新][新しいフライト] の順に選びます

    新しいフライト

  2. [新しいフライト] ダイアログで、次の操作を行います。

    [新しいフライト] ダイアログ ボックス

    a. リングを指定します。たとえば、Preview の場合は、Preview / EarlyAdopter / GeneralAvailability のようにします。 ダウンロードされてイメージに含まれる xml ファイルでは、この値は既定で GeneralAvailability に設定されることに注意してください

    • Preview リング: 限られた一連のデバイス (主にラボ内) を更新します

    • EarlyAdopter リング: セルフホスト デバイスを含む、ユーザー環境内の適当な数のデバイスを更新します

    • GeneralAvailability リング: 市場のすべてのデバイスを更新します

    b. 新しい OS バージョンを指定する場合は、[OS バージョン] ボックスを選択し、必要な OS バージョンを選択します

    c. 新しい OEM カスタム パッケージ バージョンを指定する場合は、[OCP バージョン] ボックスを選択し、必要な OEM カスタム パッケージ バージョン (a.b.c.d など) を選択します

    d. [次へ] を選択します

注意

SHA-2 署名をサポートするには、最初に OS バージョンを少なくとも 10.0.17763.615 に更新します。 詳細については、以下の「IoT Core の SHA1 非推奨」セクションを参照してください。

  1. [削除の確認] ダイアログで、[発行] をクリックします。 ターゲット申請は、次で構成されるプロセスを経て行います

    • 検証: ターゲット ルールの正確性の確認

    • ターゲット: Windows Update で設定された実際の構成

    • 最終処理: ターゲット プロセスの終了

  2. 発行プロセスの状態を確認するには、[状態] リンクをクリックします。

    新しいフライトの状態

    この時点で、Windows Update システムは、必要な更新プログラム パッケージをデバイスに配信するように設定されます。 設定が反映されるまでに数時間かかる場合があります。

手順 6: デバイスで更新プログラムを検証する

Windows Update で更新プログラムが利用できるようになったので、デバイスで更新プログラムを検証できます。 リングは、Preview、EarlyAdopter、GeneralAvailability の順に、更新プログラムの段階的なロールアウトを可能にするために提供されます。

  1. デバイスを Preview リングに構成します。 これは、Azure DM API または Update UWP API を使用して設定できます

  2. デバイスで更新プログラムのスキャンを行うと、デバイスによって公開されている更新プログラムが検出され、(構成されている更新ポリシーに基づいて) 自動的にダウンロードしてインストールが行われます。

    スキャン時間とアクティブ時間の設定によっては、このプロセスに 24 時間以上かかる場合があります。

IoT Core の SHA1 非推奨

Windows 10 IoT Core OS に対する SHA1 の非推奨がロール アウトされており、SHA-2 のサポートは、Windows 10 IoTCore バージョン 1809 7 月版更新プログラム (10.0.17763.615) 以降で有効になっています。 2019 年 11 月以降、すべての OEM カスタム パッケージは SHA-2 署名でのみ署名され、SHA-2 署名付き OEM カスタム パッケージをターゲットとするために、すべてのデバイスを最初に Windows 10 1809 7 月版更新プログラム (10.0.17763.615) 以降のバージョンに更新する必要があります。

Note

SHA-2 署名済み更新プログラムは、10.0.17763.611 より前の OS バージョンではインストールできません。 最初にデバイス OS を少なくともこのバージョンに更新してから、OEM カスタム パッケージの更新プログラムをターゲットにすることをお勧めします。

Windows 10 IoTCore バージョン 1803 を実行しているデバイスの場合、Windows 10 IoTCore バージョン 1803 7 月版更新プログラム (10.0.17134.885) に更新する必要があります。 1803 デバイスも 1809 バージョンの 7 月版更新プログラムに更新することを強くお勧めします。

OEM 署名とクロス証明書ルートの有効期限

クロス署名されたルート証明書は SHA1 であり、その有効期限までサポートされます。 この有効期限は、イメージ内の既に署名されているドライバーには影響を与えず、有効期限後の新しいドライバーの署名に影響します。

重要

Windows 10 IoT Core バージョン 1809 2020 年 11 月 10 日の更新プログラム (17763.1577) 以降では、OEM カーネル ドライバーの署名がサポートされています。 これにより、コード署名証明書をクロス署名ルートにチェーンする必要がなくなります。 OEM 署名では、製品とテストの両方のイメージでセキュア ブートと Device Guard の機能を有効にする必要があります。 ツールの更新プログラムとサンプル証明書については、IoT-ADK-AddonKit 17763-v7 ブランチを参照してください。

SHA1 の非推奨の詳細については、次のリンクを参照してください。