Лаборатория 1a. Создание базового образа (create-a-basic-image)
Чтобы приступить к работе, мы создадим базовый образ Windows 10 IoT Базовая (IoT Core) и замечаем его на определенном аппаратном устройстве.
Мы создадим папку продукта, представляющую наш первый дизайн. Для нашего первого дизайна продукта мы настроим достаточно для начального устройства Интернета вещей, чтобы загрузить и запустить встроенное приложение OOBE, которое мы должны видеть на мониторе, совместимом с HDMI.
Чтобы упростить выполнение этих команд, мы установим и используем оболочку IoT Core, которая предустановит несколько часто используемых путей и переменных.
Необходимые компоненты
Убедитесь, что ваш технический компьютер имеет необходимые средства, установленные перед созданием образа IoT Core.
Ознакомьтесь с инструментами, необходимыми для настройки Windows IoT Core для подготовки технического компьютера.
Важно!
Используемая версия ADK должна соответствовать версии пакетов IoT Core, используемых ниже.
Для выполнения этого раздела потребуется следующее:
- Оценка и развертывание Windows KiT (Windows ADK)
- пакеты Windows 10 IoT Базовая
- Надстройки ADK для IoT Core
- Среда PowerShell Для Интернета вещей
- Текстовый редактор, например Блокнот или VS Code
Создание базового образа
создать рабочую область;
- В Windows Обозреватель перейдите в папку, в которой установлены надстройки ADK IoT Core, например C:\IoT-ADK-AddonKit и откройте IoTCorePShell.cmd. Он должен запрашивать запуск от имени администратора.
Это загрузит модуль PowerShell, а также проверка версии пакета ADK, IoT Core. Это также проверка для тестовых сертификатов в хранилище сертификатов и, если они отсутствуют, установите их автоматически.
Устранение неполадок. Ошибка: "Система не может найти указанный путь". Если вы получите это, щелкните правой кнопкой мыши значок и измените путь в поле "Целевой" в расположение, выбранное для установки средств.
- В IoTCorePShell создайте рабочую область
C:\MyWorkspace
с именемContoso
OEM для архитектурыarm
с помощью New-IoTWorkspace
New-IoTWorkspace C:\MyWorkspace Contoso arm
(or) new-ws C:\MyWorkspace Contoso arm
IoT Core поддерживает четыре архитектуры, x64,x86,arm и arm64.
В имени OEM поддерживаются только буквенно-цифровые символы, так как это используется в качестве префикса для различных созданных имен файлов.
Это создает IoTWorkspace.xml и задает номер версии для конструктора, который можно использовать для будущих обновлений. Номер первой версии по умолчанию — 10.0.0.0.0.
Необходимые пакеты, такие как Registry.Version, Custom.Cmd и Provisioning.Auto, будут автоматически импортированы в рабочую область.
- Импортируйте примеры пакетов в рабочую область. Вы можете импортировать пакеты выборочно или импортировать все.
# Importing Recovery packages from sample workspace (create-a-basic-image)
Import-IoTOEMPackage Recovery.*
(or) importpkg Recovery.*
# Below example imports all packages from the sample workspace (create-a-basic-image)
Import-IoTOEMPackage *
(or) importpkg *
Импорт Raspberry Pi BSP
Следующий шаг — принять файлы пакета поддержки Board и создать их .CAB файлы для включения в FFU-файл.
Скачайте RPi_BSP.zip в локальный каталог, скажем
C:\Downloads\RPi_BSP.zip
.Импорт bsp с помощью Import-Io ТБ SP
Import-IoTBSP RPi2 C:\Downloads\RPi_BSP.zip
(or) importbsp RPi2 C:\Downloads\RPi_BSP.zip
Дополнительные сведения о доступных BSPs см. в Windows 10 IoT Базовая BSPs.
Создание тестового проекта
В среде Оболочки IoT Core создайте новую папку продукта, которая использует raspberry Pi 2 BSP. Эта папка представляет новое устройство, которое мы хотим создать, и содержит примеры файлов настройки, которые можно использовать для запуска проекта. Создание продукта с помощью Add-IoTProduct
Add-IoTProduct ProductA RPi2
(or) newproduct ProductA RPi2
Вам будет предложено ввести сведения О S МБ IOS, такие как имя производителя (имя изготовителя), семейство, SKU, BaseboardManufacturer и BaseboardProduct. Ниже приведены некоторые примеры значений:
- Имя ИЗГОТОВИТЕЛЯ системы: Fabricam
- Имя семейства систем: FabricamHub
- Номер SKU системы: AI-001
- Стрелка изготовителя базовой доски
- Продукт базовой доски: Raspberry Pi 2
Имя BSP совпадает с именем папки для BSP. Вы можете увидеть, какие BSPS доступны, просматривая C:\MyWorkspace\Source-<arch>\BSP
папки.
При этом создается папка: C:\MyWorkspace\Source-<arch>\Products\\ProductA
файл OemCustomization.cmd
Каждый образ содержит файл oemcustomization.cmd
, который будет выполняться при каждой загрузке устройства. Вы можете изменить этот файл для настройки того, что выполняется при загрузке. Этот файл находится C:\MyWorkspace\Source-<arch>\Products\\ProductA
в этом примере. Содержимое файла выглядит следующим образом:
@echo off
REM OEM Customization Script file
REM This script if included in the image, is called everytime the system boots.
reg query HKLM\Software\IoT /v FirstBootDone >nul 2>&1
if %errorlevel% == 1 (
REM Enable Administrator User
net user Administrator p@ssw0rd /active:yes
if exist C:\Data\oobe (
call folderpermissions.exe 'C:\Data\oobe -e'
)
REM - Enable the below if you need secure boot/bitlocker
REM Enable Secureboot
REM if exist c:\IoTSec\setup.secureboot.cmd (
REM call c:\IoTSec\setup.secureboot.cmd
REM )
REM Enable Bitlocker
REM if exist c:\IoTSec\setup.bitlocker.cmd (
REM call c:\IoTSec\setup.bitlocker.cmd
REM )
reg add HKLM\Software\IoT /v FirstBootDone /t REG_DWORD /d 1 /f >nul 2>&1
)
REM The below should be called on every boot
if exist C:\RecoveryConfig\Recovery.BcdEdit.cmd (
call C:\RecoveryConfig\Recovery.BcdEdit.cmd
)
REM Set the crashdump file locations to data partition, set on every boot.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v DedicatedDumpFile /t REG_SZ /d C:\Data\DedicatedDumpFile.sys /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl" /v DumpFile /t REG_SZ /d C:\Data\MEMORY.DMP /f
Примечание.
Обратите внимание, что функции безопасности, такие как BitLocker и SecureBoot, по умолчанию отключены для пользовательского тестового образа. Если вы хотите включить эти функции (в образ розничной торговли), вы можете раскомментировать соответствующие строки в файле, прежде чем создавать образ.
Примечание.
Помните, что команды в этом файле выполняются с правами локальной системы.
Сборка пакетов
В оболочке IoT Core вы можете подготовить среду к созданию продуктов, создав все пакеты в рабочих папках с помощью New-IoTCabPackage:
New-IoTCabPackage All
(or) buildpkg All
Примечание.
Если при создании пакетов в тестовом режиме возникают ошибки SignTool, выполните установку installoemcerts.cmd
тестовых сертификатов на компьютере технического специалиста.
Создание образа
Удалите все съемные накопители, включая карта Micro SD и все USB-накопители флэш-памяти.
Создайте файл образа FFU, введя следующую команду в среде PowerShell IoT Core с помощью New-IoTFFUImage:
New-IoTFFUImage ProductA Test
(or) buildimage ProductA Test
Это создает файл FFU с базовым изображением по адресу C:\MyWorkspace\Build\<arch>\ProductA\Test
. Этот тестовый образ будет включать дополнительные средства, которые можно использовать для отладки. Создание окончательного файла FFU займет около 10 до 30 минут.
Чтобы направить все выходные данные в консоль вместо файла журнала, добавьте -Verbose
флаг, например приведенный ниже.
new-IoTFFUImage -Verbose ProductX Test
Примечание.
Если вы получаете 0x80070005 или 0x800705b4 в виде кода ошибки, отключите все внешние диски (включая микро SD карта и USB-накопители) и повторите попытку. Если это не работает, вернитесь к настройке компьютера и скачайте примеры и убедитесь, что все установлено.
Flash a Windows IoT Core image
Теперь, когда файл образа FFU создан, вы можете использовать этот файл для флэш-памяти и развертывания eimage на устройстве. Перечисленные ниже действия по вспышке файла образа FFU на конкретных устройствах производителя.
Предварительные требования и требования
Для выполнения этого раздела потребуется следующее:
- Панель мониторинга Windows IoT Core (только Raspberry Pi)
- Средство обновления Dragonboard (только Qualcomm DragonBorad)
- Средство "Образы развертывания" и "Обслуживание" (DICM) (только на устройствах Intel)
Так как мы используем Raspberry Pi здесь, мы начнем с Raspberry Pi, но также объясним, как мигать изображения на других устройствах.
Raspberry Pi
Запустите панель мониторинга Windows IoT Core.
Подключите микро SD-карта к вашему техническому компьютеру и выберите его в средстве.
В разделе "Настройка нового устройства" выберите Broadcomm [Raspberry Pi 2 и 3] в разделе "Тип устройства".
Выберите "Пользовательский" в разделе "Сборка ОС".
Нажмите кнопку "Обзор" и выберите созданный ранее файл FFU. В этом случае файл FFU находится в
C:\MyWorkspace\Build\<arch>\ProductA\Test\Flash.ffu
папке . Затем нажмите кнопку Далее.Убедитесь, что карта microSD указан в разделе "Диск".
При необходимости можно задать имя устройства и Администратор istrator Password selections for your device.
Проверьте условия лицензионного соглашения на программное обеспечение проверка box (в правом нижнем углу) и нажмите кнопку "Установить".
Панель мониторинга Windows IoT Core теперь откроет командное окно и использует DISM (средство обслуживания образов развертывания и управления) для вспышки файла FFU в карта microSD.
Примечание.
Кроме того, можно использовать команду DISM для ручной вспышки изображения: dism.exe /Apply-Image /ImageFile:"D:\flash.ffu" /ApplyDrive:\\.\PhysicalDrive0 /SkipPlatformCheck
После завершения процесса вспышки извлеките микроСД карта с технического компьютера и вставьте его в Raspberry Pi. Повторно подключите питание для загрузки Windows IoT Core. Вы увидите приложение По умолчанию IoT Core, в котором отображаются основные сведения об изображении.
Qualcomm
DragonBoard 410c
Qualcomm предоставило приложение Dragonboard Update Tool , которое мы будем использовать для вспышки файла образа FFU в Dragonboard 410c. Вы можете скачать версию x86 или x64 (рекомендуется использовать x64).
После установки средства обновления DragonBoard необходимо сначала разместить устройство DragonBoard в режиме программирования. Это делается путем установки dipswitch #1 (на задней части устройства) в положение ON :
Подключение устройство DragonBoard на ваш технический компьютер с кабелем microUSB и питанием на борту.
Запустите средство обновления DragonBoard, найдите развернутый файл образа FFU и нажмите кнопку "Программа". Вы увидите зеленый Подключение состояние и индикатор выполнения, когда устройство мигает файл FFU.
После завершения процесса мигания отключите питание от платы, а также кабель microUSB. Затем необходимо перевернуть дипсвитч #1 обратно в положение OFF . Повторно подключите питание для загрузки Windows IoT Core.
Intel
Apollo Lake/Braswell/Черри Тропа
Мы будем использовать DISM (средство управления образами развертывания и обслуживанием) и загрузочный USB-адаптер для вспышки файла образа FFU на указанное устройство Intel (Apollo Lake/Braswell/Cherry Trail). Дополнительные сведения о DISM см . здесь.
Создание usb-загрузочного диска
Сначала необходимо создать загрузочный USB-диск, который можно использовать для загрузки на указанном аппаратном устройстве Intel. Для этого можно использовать windows PE (WinPE) (дополнительные сведения о WinPE здесь).
- Установите WinPE из надстроек среды предварительной установки Windows ADK для Windows.
- Подготовка USB-диска
USB-накопитель, который вы хотите использовать, должен быть правильно отформатирован, прежде чем можно загрузить WinPE на него. Выполните следующие действия, чтобы правильно отформатировать USB-накопитель:
diskpart
Запуск средства из командной строки администрирования- Запустите
list disk
, чтобы просмотреть список доступных дисков - Запуск
select disk X
, где X соответствует номеру диска USB-диска. - Запуск
clean
для очистки выбранного диска
Примечание.
Если возникла следующая ошибка, выполните следующую команду convert mbr
:
ERROR: Failed to format "F:"; DiskPart errorlevel -2147212244
- Запуск
create partition primary
для создания первичной секции на диске - Запуск
format fs=fat32 quick
для форматирования диска - Выполните команду
assign
, чтобы назначить диск - Выйдите из
diskpart
. Usb-накопитель теперь отформатирован и готов к установке WinPE.
- Создание рабочих файлов WinPE
Теперь необходимо создать рабочую копию файлов Windows PE на компьютере технического специалиста. Это можно сделать с помощью программы командной строки "Среда средств развертывания и создания образов". Самый простой способ начать Deployment and Imaging Tools Environment
поиск развертывания с помощью меню "Пуск".
Запустите программу командной строки "Среда средств развертывания и образов" в качестве администратора и выполните следующую команду:
copype amd64 C:\WinPE_amd64
При этом будет создана рабочая копия файлов среды предустановки Windows в C:\WinPE_amd64.
Вставьте USB-диск на компьютер технического специалиста и выполните следующую команду, чтобы установить Windows PE на USB-накопителе. Убедитесь, что вы можете заменить X буквой диска USB-диска:
MakeWinPEMedia /UFD C:\WinPE_amd64 X:
- Скопируйте файл FFU в корневой диск USB-диска.
- Вставьте USB-диск на аппаратное устройство Intel и загрузите его с USB-диска. Возможно, потребуется ввести BIOS (или меню загрузки) аппаратного устройства, чтобы указать загрузку с USB-диска.
- После загрузки среды Предустановки Windows появится окно командной строки. Измените диск и текущий каталог на расположение файла FFU (в зависимости от перечисления дисков в C: или D: .). и т. д.) и выполните следующую команду, чтобы запустить файл образа FFU:
dism.exe /Apply-Image /ImageFile:"C:\IoT\Workspaces\ContosoWS\Build\ARM\ProductX\Test\flash.ffu" /ApplyDrive:\\.\PhysicalDrive0 /SkipPlatformCheck
Примечание.
В большинстве случаев целевой объект хранения на борту, который будет мигать, перечисляется как PhysicalDrive0
, однако при наличии нескольких устройств хранения он может перечисляться как другой номер диска. Для проверки номера диска можно использовать list disk
команду diskpart
.
- После завершения процесса вспышки отключите аппаратное устройство и удалите USB-накопитель. Повторно подключите питание к аппаратному устройству для загрузки Windows IoT Core.
Команды Diskpart
C:\>diskpart
Microsoft DiskPart version 10.0.17134.1
Copyright (C) Microsoft Corporation.
On computer: LWIN-CNCY-BUILD
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 447 GB 1024 KB *
Disk 1 Online 167 GB 1024 KB *
Disk 2 Online 14 GB 0 B *
DISKPART> select disk 2
Disk 2 is now the selected disk.
DISKPART> clean
DiskPart succeeded in cleaning the disk.
DISKPART> convert mbr
DiskPart successfully converted the selected disk to MBR format.
DISKPART> create partition primary
DiskPart succeeded in creating the specified partition.
DISKPART> format fs=fat32 quick
100 percent completed
DiskPart successfully formatted the volume.
DISKPART> assign
DiskPart successfully assigned the drive letter or mount point.
DISKPART> exit
Команды WinPE
copype amd64 C:\WinPE_amd64
MakeWinPEMedia /UFD C:\WinPE_amd64 X:
Команда DISM (через WinPE на аппаратном устройстве Intel)
X:\WinPE>d:
D:\>dism.exe /Apply-Image /ImageFile:"C:\IoT\Workspaces\ContosoWS\Build\ARM\ProductX\Test\flash.ffu" /ApplyDrive:\\.\PhysicalDrive0 /SkipPlatformCheck
Дальнейшие действия
Оставьте устройство на данный момент и перейдите к лаборатории 1b: добавьте приложение в образ.