랩 1c: 이미지에 파일 및 레지스트리 설정 추가
Windows IoT Core 이미지에 대한 몇 가지 테스트 파일과 레지스트리 키를 만들고 고객에게 배포한 후 서비스를 제공할 수 있도록 패키지합니다. 이미지에 추가하는 파일 및 레지스트리 키는 아키텍처에 한정되지 않는 경우가 많으므로 모든 디바이스 아키텍처에서 사용할 수 있는 공통 패키지를 만드는 것이 좋습니다.
목표
- 디바이스에 대한 레지스트리 및 파일 설정이 포함된 패키지 만들기
- FFU 이미지에 포함할 수 있도록 레지스트리/파일 설정 패키지를 패키지합니다.
- 레지스트리/파일 설정 패키지를 포함하도록 IoT Addon Kit 프로젝트 구성 파일 수정
- 레지스트리/파일 설정 패키지가 포함된 FFU 이미지 빌드 및 배포
이미지에 대한 몇 가지 테스트 파일과 레지스트리 키를 만들고 고객에게 도달한 후 서비스를 제공할 수 있도록 다시 패키지합니다.
x86, x64, Arm 빌드에서 사용되는 공통 기능 매니페스트(OEMCommonFM.xml)에 추가합니다.
이 랩에서는 새 제품인 ProductB를 시작하여 나중에 IoT 샘플 앱을 사용해 디바이스의 IP 주소를 가져와 파일 및 reg 키가 생성되었는지 확인할 수 있습니다.
필수 구성 요소
이전에 기본 이미지 만들기에서 기본 이미지를 만들었는지 확인합니다.
이 작업을 완료하려면 다음 도구를 설치해야 합니다.
- Windows ADK(Windows Assessment and Deployment KiT)
- IoT Core Powershell 환경
- Windows 10 IoT Core 패키지
- IoT Core ADK 추가 기능
- 메모장 또는 VS Code와 같은 텍스트 편집기.
테스트 파일 만들기
메모장을 사용하여 몇 가지 샘플 텍스트 파일을 만들고 이러한 파일이 비어 있지 않도록 임의의 텍스트를 추가합니다. 이 예제에서는 TestFile1.txt 및 TestFile2.txt라는 두 개의 파일을 만들었습니다.
테스트 파일용 패키지 빌드
IoT Core PowerShell 환경 열기: 관리자 권한으로
C:\MyWorkspace\IoTCorePShell.cmd
를 실행하고 Add-IoTFilePackage를 사용하여 파일 패키지를 만듭니다.# Array of files with destinationDir, Source and destinationFilename $myfiles = @( ("`$(runtime.system32)","C:\Temp\TestFile1.txt", ""), ("`$(runtime.bootDrive)\OEMInstall","C:\Temp\TestFile2.txt", "TestFile2.txt") ) Add-IoTFilePackage Files.Configs $myfiles
그러면
C:\MyWorkspace\Common\Packages\Files.Configs
에 새 폴더가 만들어집니다.이렇게 하면
C:\MyWorkspace\Common\Packages\OEMCOMMONFM.xml
파일에 FeatureID FILES_CONFIGS도 추가됩니다.$(runtime.system32)
와 같은 변수는C:\Program Files (x86)\Windows Kits\10\Tools\bin\i386\pkggen.cfg.xml
에 정의되어 있습니다.Add-IoTRegistryPackage를 사용하여 레지스트리 패키지를 만듭니다.
# Array of files with destinationDir, Source and destinationFilename $myregkeys = @( ("`$(hklm.software)\`$(OEMNAME)\Test","StringValue", "REG_SZ", "Test string"), ("`$(hklm.software)\`$(OEMNAME)\Test","DWordValue", "REG_DWORD", "0x12AB34CD") ) Add-IoTRegistryPackage Registry.Settings $myregkeys
그러면
C:\MyWorkspace\Common\Packages\Registry.Settings
에 새 폴더가 만들어집니다.이렇게 하면
C:\MyWorkspace\Common\Packages\OEMCOMMONFM.xml
파일에 FeatureID REGISTRY_SETTINGS도 추가됩니다.New-IoTCabPackage를 사용하여 패키지를 빌드합니다.
New-IoTCabPackage Files.Configs (or) buildpkg Files.Configs New-IoTCabPackage Registry.Settings (or) buildpkg Registry.Settings
패키지는 빌드되었으며
C:\MyWorkspace\Build\<arch>\pkgs
에서 사용할 수 있습니다.
새 제품 만들기
새 제품 폴더를 만듭니다.
Add-IoTProduct ProductB RPi2 (or) newproduct ProductB RPi2
SMBIOS 값을 입력하라는 메시지가 나타납니다.
프로젝트의 구성 파일 업데이트
Add-IoTProductFeature를 사용하여 기능을 포함하도록 제품 테스트 구성을 업데이트합니다.
Add-IoTProductFeature ProductX Test FILES_CONFIGS -OEM
(or) addfid ProductX Test FILES_CONFIGS -OEM
Add-IoTProductFeature ProductX Test REGISTRY_SETTINGS -OEM
(or) addfid ProductX Test REGISTRY_SETTINGS -OEM
이미지 빌드 및 테스트
기본 이미지 만들기에 지정된 대로 FFU 이미지를 다시 빌드합니다. New-IoTFFUImage 명령만 실행하면 됩니다.
New-IoTFFUImage ProductX Test
(or)buildimage ProductX Test
FFu 파일이 빌드되면 Windows IoT Core 이미지 플래싱에 지정된 대로 하드웨어 디바이스로 플래시할 수 있습니다.
추가된 파일 및 레지스트리 키 확인
파일이 디바이스에 추가되었는지 확인하려면 다음을 수행합니다.
기술자 PC와 디바이스를 동일한 이더넷 네트워크에 연결합니다.
예를 들어, 유선 네트워크를 통해 연결하려면 이더넷 케이블을 연결합니다. 디바이스에 직접 연결하려면 기술자 PC에서 디바이스로 직접 네트워크 케이블을 연결합니다.
테스트 앱에서 디바이스의 IP 주소를 기록해 둡니다. 예를 들어 10.100.0.100을 입력합니다.
기술자 PC에서 파일 탐색기를 열고 \ 접두사와 \c$ 접미사가 있는 디바이스의 IP 주소를 입력합니다.
\\10.100.0.100\c$
디바이스 이름, 기본 관리자 계정 및 암호를 사용하여 로그온합니다. (기본값: minwinpc\Administrator / p@ssw0rd)
파일이 디바이스에 있는지 확인합니다. 이 예제에서는 다음을 찾습니다.
\\10.100.0.100\c$\Windows\system32\TestFile1.txt
\\10.100.0.100\c$\OEMInstall\TestFile2.txt
레지스트리 키 확인
기술자 PC에서 PuTTY와 같은 SSH 클라이언트를 사용하여 디바이스를 연결합니다. 예를 들어 IP 주소와 포트 22를 사용하여 디바이스에 연결합니다. 그런 다음, 관리자 계정과 암호를 사용하여 로그인합니다. (자세한 내용은 SSH를 참조하세요).
SSH 클라이언트의 명령줄에서 레지스트리 키에 대한 시스템을 쿼리합니다. 이 예제에서는 레지스트리 키가 있는지 확인하기 위해 이 명령을 실행했습니다.
reg query HKLM\Software\Fabrikam\Test
SSH 클라이언트는 테스트 값을 표시해야 합니다.
또는 연결된 디바이스의 Windows 장치 포털에서 명령 실행을 사용하여
reg query
명령을 실행할 수 있습니다.
출력 창에 테스트 값이 표시되어야 합니다.