디바이스 업데이트 센터 사용자 가이드

디바이스 업데이트 센터 포털에서는 다음과 같은 방법을 OEM에 제공합니다.

  • OCP(OEM 사용자 지정 패키지)를 Windows 업데이트 클라우드에 게시
  • 플라이트 링에 따라 OEM 사용자 지정 패키지를 디바이스에 플라이트
  • 플라이트 링에 따라 OS 업데이트를 디바이스에 플라이트

디바이스 업데이트 센터에 대한 필수 구성 요소

다음 요구 사항을 검토한 후에 등록 프로세스를 시작합니다.

  • EV(확장 유효성 검사) 코드 서명 인증서가 있어야 합니다. 회사에 코드 서명 인증서가 이미 있는지 확인하세요. 회사에 인증서가 이미 있는 경우 인증서를 사용할 수 있습니다. 파일에 서명하려면 인증서가 필요합니다.. 회사에 인증서가 없으면 등록 프로세스의 일부로 인증서를 하나 구매해야 합니다.

  • 조직의 Azure Active Directory에서 전역 관리자 권한으로 로그인해야 합니다. 조직에 Azure Active Directory가 있는지 여부를 모르는 경우 IT 부서에 문의하세요. 조직에 Azure Active Directory가 없는 경우 무료로 만들 수 있습니다.

  • 조직 대신 법적 계약서에 서명할 수 있는 권한이 필요합니다.

1단계: 설정

등록

  1. DUC(디바이스 업데이트 센터)에 액세스할 수 있는 Windows 하드웨어 개발자 센터 계정을 만듭니다. 필요한 항목은 다음과 같습니다.

    • EV(확장 유효성 검사) 코드 서명 인증서: 업데이트를 위해 제출된 업데이트 cab 파일의 유효성을 검사하는 데 사용됩니다.
    • 관리자 권한이 있는 AAD(Azure Active Directory) 계정: 법적 계약에 서명하는 데 사용됩니다.

    등록 프로세스에 대한 자세한 지침은 하드웨어 프로그램 등록을 참조하세요.

  2. Windows 10 IoT Core 서비스에 가입합니다.

  3. 관리자 역할로 하드웨어 개발자 센터에 로그인하고, 조직의 다른 사용자에 대한 역할을 지정합니다. 필요한 항목은 다음과 같습니다.

    • 업데이트 제출을 위한 드라이버 제출자 역할
    • 업데이트 플라이팅을 위한 배송 레이블 소유자 역할

    자세한 지침 은 사용자 역할 변경을 참조하세요.

도구 설치

  1. Windows ADK(Windows Assessment and Deployment Kit)
  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. 업데이트된 버전의 드라이버를 사용할 수 있는 경우 이진 파일과 패키징 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 업데이트에 게시하기 위해 Microsoft 인증서로 cab에 서명합니다.

    • 게시: Windows 업데이트에 대한 실제 게시 단계

    • 완료: 게시 프로세스 완료

  5. 상태 링크를 클릭하여 게시 프로세스의 상태를 확인할 수 있습니다. 이 프로세스를 완료하는 데 약간의 시간이 걸립니다.

    새 사용자 지정 패키지 - 상태

5단계: 업데이트 대상 지정

업데이트가 성공적으로 게시되면 이제 대상 지정 규칙을 지정하여 배달 프로세스를 제어할 수 있습니다.

  1. 업데이트 플라이팅을 선택하고, 새 플라이트를 선택합니다.

    새 플라이트

  2. 새 플라이트 대화 상자에서:

    새 플라이트 대화 상자

    a. 링(Preview / EarlyAdopter / GeneralAvailability)을 지정합니다(예: 미리 보기). 다운로드되어 이미지에 포함된 xml 파일은 기본적으로 이 값을 GeneralAvailability로 설정합니다.

    • Preview 링: 주로 랩에서 제한된 디바이스 세트를 업데이트합니다.

    • EarlyAdopter 링: 사용자 환경에서 자체 호스트 디바이스를 포함하여 적당한 수의 디바이스를 업데이트합니다.

    • GeneralAvailability 링: 시장의 모든 디바이스를 업데이트합니다.

    b. 새 OS 버전을 지정하려면 OS 버전 상자를 선택한 다음, 필요한 OS 버전을 선택합니다.

    다. 새 OEM 사용자 지정 패키지 버전을 지정하려면 OEM 사용자 지정 패키지 버전 상자를 선택한 다음, 필요한 OEM 사용자 지정 패키지 버전(예: a.b.c.d)을 선택합니다.

    d. 다음을 선택합니다.

참고

SHA-2 서명을 지원하려면 먼저 OS 버전을 10.0.17763.615 이상으로 업데이트합니다. 자세한 내용은 아래의 'IoT Core에 대한 SHA1 사용 중단' 섹션을 참조하세요.

  1. 플라이팅 확인 대화 상자에서 게시를 선택합니다. 대상 지정 제출은 다음 절차로 구성된 프로세스를 진행합니다.

    • 유효성 검사: 대상 지정 규칙의 정확성 확인

    • 대상 지정: Windows 업데이트에 설정된 실제 구성

    • 완료: 대상 지정 프로세스 완료

  2. 상태 링크를 클릭하여 게시 프로세스의 상태를 확인할 수 있습니다.

    새 플라이트 상태

    이 시점에서 Windows 업데이트 시스템은 필요한 업데이트 패키지를 디바이스에 전달하도록 설정됩니다. 설정이 전파될 때까지 몇 시간이 걸릴 수 있습니다.

6단계: 디바이스에서 업데이트 유효성 검사

이제 Windows 업데이트에서 업데이트를 사용할 수 있으므로 지금 디바이스에서 업데이트의 유효성을 검사할 수 있습니다. Preview, EarlyAdopter, GeneralAvailability 링 순서의 스테이지적 업데이트 롤아웃이 가능하도록 이러한 링이 제공됩니다.

  1. 디바이스를 Preview 링으로 구성합니다. 이 구성은 Azure DM API 또는 UWP 업데이트 API를 사용하여 설정할 수 있습니다.

  2. 디바이스에서 업데이트를 검사할 수 있도록 하면 디바이스에서 게시된 업데이트를 검색하고 구성된 업데이트 정책에 따라 자동으로 다운로드 및 설치합니다.

    이 프로세스에는 검사 시간 및 활성 시간 설정에 따라 24시간 이상 걸릴 수 있습니다.

IoT Core에 대한 SHA1 지원 중단

Windows 10 IoT Core OS에 대한 SHA1 사용 중단이 롤아웃되었으며, Windows 10 IoTCore 버전 1809 7월 업데이트(10.0.17763.615)부터 SHA-2만 지원됩니다. 2019년 11월부터 모든 OEM 사용자 지정 패키지는 SHA-2 서명으로만 서명되고, 모든 디바이스는 SHA2 서명 OEM 사용자 지정 패키지를 대상으로 지정할 수 있도록 먼저 Windows 10 1809 7월 업데이트(10.0.17763.615) 이상 버전으로 업데이트해야 합니다.

참고

SHA-2 서명된 업데이트는 10.0.17763.611 이전 OS 버전에서 설치되지 않습니다. 먼저 디바이스 OS를 이 버전 이상으로 업데이트한 다음, OEM 사용자 지정 패키지 업데이트를 대상으로 지정하는 것이 좋습니다.

Windows 10 IoT Core 버전 1803을 실행하는 디바이스의 경우 Windows 10 IoT Core 버전 1803 7월 업데이트(10.0.17134.885)로 업데이트해야 합니다. 1803 디바이스도 1809 버전 7월 업데이트로 업데이트하는 것이 좋습니다.

OEM 서명 및 상호 인증서 루트 만료

상호 서명 루트 인증서는 SHA1이며, 만료일까지 지원됩니다. 이 만료는 이미지의 이미 서명된 드라이버에 영향을 주지 않지만, 만료 날짜 이후의 새 드라이버의 서명에는 영향을 줍니다.

중요

Windows 10 IoT Core 버전 1809 2020년 11월 10일 업데이트(17763.1577)부터 OEM 커널 드라이버 서명이 지원됩니다. 이를 사용하면 코드 서명 인증서를 상호 서명된 루트에 연결할 필요가 없습니다. OEM 서명을 사용하려면 보안 부팅 및 디바이스 보호 기능을 정품 이미지와 테스트 이미지 모두에 사용하도록 설정해야 합니다. 도구 업데이트 및 샘플 인증서는 IoT-ADK-AddonKit 17763-v7 분기를 참조하세요.

SHA1 사용 중단에 대한 자세한 내용은 다음 링크를 참조하세요.