How to build a custom Windows 10 IoT Enterprise Image
Preparation
Download the latest version of the BSP Source Files and the Windows 10 IoT Enterprise documentation from NXP:
Windows 10/11 IoT Enterprise for i.MX Applications ProcessorsDownload the "Windows 10 IoT Entrerprise 2021" ARM64 DVD Image as described in Section 3 of the i.MX Windows 10 IoT Quick Start Guide.
Setup
Set up your build environment as described in chapter 2 of the i.MX Windows 10 IoT User’s Guide.
(Visual Studio 2019, ADK + WinPE addon for ADK + WDK)Extract the WIN10_<version>_SOURCE.zip
Execute the Init.bat
For the first setup follow the steps in Chapter 2.2.3 of the User’s Guide to set up the build environment and the test code signing certificates
Open the solution <path>\imx-windows-iot\build\solution\iMXPlatform\iMXPlatform.sln and build it for ARM64/Debug
Custom SECO drivers/changes
Copy the <path>\imx-windows-iot\BSP\IoTEntOnNXP\ folder to
<path>\imx-windows-iot\BSP\IoTEntOnSECO\Download the SECO-specific modifications from this wiki page and extract them into the new IoTEntOnSECO folder.
The archive contains SECO specific changes to the BSP, the installation scripts, the drivers used and the customized bootloader with the i.MX Firmware.
Latest:
BSP Version 1-5-1: IoTEntOnSEco_1-5-1_20240823
Older versions:
BSP Version 1-5-0: IoTEntOnSECO_1-5-0_20240503
BSP Version 1-5-0: IoTEntOnSECO_1-5-0_20240412
BSP Version 1-4-0: IoTEntOnSECO_1-4-0_20231218
Building the WinPE SD Card
Execute one of the following commands in the IoTEntOnSECO directory directory in an elevated command prompt (launched as administrator) depending on your module.
Trizeps8Mini, eMMC:
make-winpe-enterprise.cmd /disable_updates /test_signing /module trizeps8mini
Trizeps8Mini, SD Card:
make-winpe-enterprise.cmd /disable_updates /test_signing /sdcard /module trizeps8mini
Trizeps8Plus, eMMC:
make-winpe-enterprise.cmd /disable_updates /test_signing /module trizeps8plus
Trizeps8Plus, SD Card:
Apply the Image to an SD Card with the following command (diskmgmt.msc displays the drive numbers)
Updating the Bootloader & i.MX Firmware
It is recommended that you use the method described in section 8.2 of the i.MX Windows 10 IoT Quick Start Guide to update the Firmware.
There is an alternative way that allows you to update the firmware from the SD card in the bootloader:
Note: Flashing a bootloader for the wrong RAM configuration will cause your device to not start up properly anymore. Avoid doing that. If you do not know which firmware binary to flash ask for help.
Hold <esc> in the terminal emulator of your choice (e.g. TeraTerm or PuTTY) while powering up the system with the WinPE SD card inserted in the device.
The following series of commands will allow you to load the firmware binary from the SD card and write it to the boot partition 1 of the eMMC:
Select the sd card socket
View the contents of the SD Card, verify that the firmware you want to write to the eMMC is present on the SD card
Load the firmware binary you want to apply (In this example we use firmware.tr8m_v2r1.bin
Select the boot partition 1 of the eMMC
Write the firmware to the selected partition with the i.MX8M Mini specific offset
Select the eMMC Boot Partition as boot partition
Erase the bootloader environment
Restart the device. It should reboot into the applied bootloader version.
The first line of the serial output contains the build date of the bootloader.