Skip to content

How to build Windows 10 ARM32 image?

Dj Art edited this page Oct 29, 2019 · 2 revisions

Prerequisites

  1. Windows 10 ARM64 image
  2. Windows 10 IoT Core ARM32 image - How to get W10IoT?
  3. Windows 10 Mobile ARM32 image - How to get W10M?
  4. Windows 10 PE ARM32 image
  5. Windows 8.1 ARM32 image (also called Windows 8.1 RT)
  6. Windows 10 PE ARM32 servicing packages

Supported Versions

This is required folder struct. Note that numbers after name is required version of image.

Windows 10.0.18362

├───arm
│   ├───Images
│   │       WIOT_10.0.17763.wim
│   │       WM_10.0.15254.wim
│   │       WPE_10.0.18362.wim
│   │       W_6.3.9600.wim
│   │
│   └───Packages
│       └───10.0.18362
│           │   1 WinPE-NetFx.cab
│           │   2 WinPE-PowerShell.cab
│           │   3 WinPE-WMI.cab
│           │   4 WinPE-SecureStartup.cab
│           │   WinPE-DismCmdlets.cab
│           │   WinPE-Dot3Svc.cab
│           │   WinPE-EnhancedStorage.cab
│           │   WinPE-FMAPI.cab
│           │   WinPE-Fonts-Legacy.cab
│           │   WinPE-FontSupport-JA-JP.cab
│           │   WinPE-FontSupport-KO-KR.cab
│           │   WinPE-FontSupport-WinRE.cab
│           │   WinPE-FontSupport-ZH-CN.cab
│           │   WinPE-FontSupport-ZH-HK.cab
│           │   WinPE-FontSupport-ZH-TW.cab
│           │   WinPE-GamingPeripherals.cab
│           │   WinPE-MDAC.cab
│           │   WinPE-PlatformId.cab
│           │   WinPE-PPPoE.cab
│           │   WinPE-RNDIS.cab
│           │   WinPE-Scripting.cab
│           │   WinPE-SecureBootCmdlets.cab
│           │   WinPE-StorageWMI.cab
│           │   WinPE-WDS-Tools.cab
│           │   WinPE-WinReCfg.cab
│           │
│           └───en-us
│                   lp.cab
│                   WinPE-DismCmdlets_en-us.cab
│                   WinPE-Dot3Svc_en-us.cab
│                   WinPE-EnhancedStorage_en-us.cab
│                   WinPE-MDAC_en-us.cab
│                   WinPE-NetFx_en-us.cab
│                   WinPE-PowerShell_en-us.cab
│                   WinPE-PPPoE_en-us.cab
│                   WinPE-Rejuv_en-us.cab
│                   WinPE-RNDIS_en-us.cab
│                   WinPE-Scripting_en-us.cab
│                   WinPE-SecureStartup_en-us.cab
│                   WinPE-SRT_en-us.cab
│                   WinPE-StorageWMI_en-us.cab
│                   WinPE-WDS-Tools_en-us.cab
│                   WinPE-WinReCfg_en-us.cab
│                   WinPE-WMI_en-us.cab
│
└───arm64
    └───Images
            W_10.0.18362.wim

Windows 10.0.17763

├───arm
│   ├───Images
│   │       WIOT_10.0.17763.wim
│   │       WM_10.0.15254.wim
│   │       WPE_10.0.17763.wim
│   │       W_6.3.9600.wim
│   │
│   └───Packages
│       └───10.0.17763
│           │   1 WinPE-NetFx.cab
│           │   2 WinPE-PowerShell.cab
│           │   3 WinPE-WMI.cab
│           │   4 WinPE-SecureStartup.cab
│           │   WinPE-DismCmdlets.cab
│           │   WinPE-Dot3Svc.cab
│           │   WinPE-EnhancedStorage.cab
│           │   WinPE-FMAPI.cab
│           │   WinPE-Fonts-Legacy.cab
│           │   WinPE-FontSupport-JA-JP.cab
│           │   WinPE-FontSupport-KO-KR.cab
│           │   WinPE-FontSupport-WinRE.cab
│           │   WinPE-FontSupport-ZH-CN.cab
│           │   WinPE-FontSupport-ZH-HK.cab
│           │   WinPE-FontSupport-ZH-TW.cab
│           │   WinPE-GamingPeripherals.cab
│           │   WinPE-MDAC.cab
│           │   WinPE-PlatformId.cab
│           │   WinPE-PPPoE.cab
│           │   WinPE-RNDIS.cab
│           │   WinPE-Scripting.cab
│           │   WinPE-SecureBootCmdlets.cab
│           │   WinPE-StorageWMI.cab
│           │   WinPE-WDS-Tools.cab
│           │   WinPE-WinReCfg.cab
│           │
│           └───en-us
│                   lp.cab
│                   WinPE-DismCmdlets_en-us.cab
│                   WinPE-Dot3Svc_en-us.cab
│                   WinPE-EnhancedStorage_en-us.cab
│                   WinPE-MDAC_en-us.cab
│                   WinPE-NetFx_en-us.cab
│                   WinPE-PowerShell_en-us.cab
│                   WinPE-PPPoE_en-us.cab
│                   WinPE-Rejuv_en-us.cab
│                   WinPE-RNDIS_en-us.cab
│                   WinPE-Scripting_en-us.cab
│                   WinPE-SecureStartup_en-us.cab
│                   WinPE-SRT_en-us.cab
│                   WinPE-StorageWMI_en-us.cab
│                   WinPE-WDS-Tools_en-us.cab
│                   WinPE-WinReCfg_en-us.cab
│                   WinPE-WMI_en-us.cab
│
└───arm64
    └───Images
            W_10.0.17763.wim

Windows 10.0.16299

This is last version of Windows that supports Surface RT.

├───arm
│   ├───Images
│   │       WIOT_10.0.16299.wim
│   │       WM_10.0.15254.wim
│   │       WPE_10.0.16299.wim
│   │       W_6.3.9600.wim
│   │
│   └───Packages
│       └───10.0.16299
│           │   1 WinPE-NetFx.cab
│           │   2 WinPE-PowerShell.cab
│           │   3 WinPE-WMI.cab
│           │   4 WinPE-SecureStartup.cab
│           │   WinPE-DismCmdlets.cab
│           │   WinPE-Dot3Svc.cab
│           │   WinPE-EnhancedStorage.cab
│           │   WinPE-FMAPI.cab
│           │   WinPE-Fonts-Legacy.cab
│           │   WinPE-FontSupport-JA-JP.cab
│           │   WinPE-FontSupport-KO-KR.cab
│           │   WinPE-FontSupport-WinRE.cab
│           │   WinPE-FontSupport-ZH-CN.cab
│           │   WinPE-FontSupport-ZH-HK.cab
│           │   WinPE-FontSupport-ZH-TW.cab
│           │   WinPE-GamingPeripherals.cab
│           │   WinPE-MDAC.cab
│           │   WinPE-PlatformId.cab
│           │   WinPE-PPPoE.cab
│           │   WinPE-RNDIS.cab
│           │   WinPE-Scripting.cab
│           │   WinPE-SecureBootCmdlets.cab
│           │   WinPE-StorageWMI.cab
│           │   WinPE-WDS-Tools.cab
│           │   WinPE-WinReCfg.cab
│           │
│           └───en-us
│                   lp.cab
│                   WinPE-DismCmdlets_en-us.cab
│                   WinPE-Dot3Svc_en-us.cab
│                   WinPE-EnhancedStorage_en-us.cab
│                   WinPE-MDAC_en-us.cab
│                   WinPE-NetFx_en-us.cab
│                   WinPE-PowerShell_en-us.cab
│                   WinPE-PPPoE_en-us.cab
│                   WinPE-Rejuv_en-us.cab
│                   WinPE-RNDIS_en-us.cab
│                   WinPE-Scripting_en-us.cab
│                   WinPE-SecureStartup_en-us.cab
│                   WinPE-SRT_en-us.cab
│                   WinPE-StorageWMI_en-us.cab
│                   WinPE-WDS-Tools_en-us.cab
│                   WinPE-WinReCfg_en-us.cab
│                   WinPE-WMI_en-us.cab
│
└───arm64
    └───Images
            W_10.0.16299.wim

Steps

Obtaining scripts

Download this repository as ZIP archive and unpack somewhere. Will better if path will not contain any non-English symbols and spaces.

Copying files

  1. All ARM32 images must be copied to source\arm\Images\ folder. Files should have special names. Look into Supported Versions section.
  2. Windows 10 ARM64 image must be copied to source\arm64\Images\ folder. Also must have special name.
  3. All ARM32 servicing packages, except WinPE-Setup.cab, WinPE-Setup-Client.cab and WinPE-Setup-Server.cab must be copied to source\arm\Packages\*version*\ folder. *version* is version of your servicing image without last number, example: 10.0.18362. Also, temporary, WinPE-NetFx.cab, WinPE-PowerShell.cab, WinPE-WMI.cab and WinPE-SecureStartup.cab must be named as 1 WinPE-NetFx.cab, 2 WinPE-PowerShell.cab, 3 WinPE-WMI.cab and 4 WinPE-SecureStartup.cab.

Optional

You can integrate drivers at one of stages of building image. Copy your drivers to source\arm\Drivers\ folder, packed as 7zip archive.

Running script

  1. Launch ExecTI.exe
  2. Launch PowerShell command in ExecTI window
  3. In opened PowerShell window enter
cd bin
./main
  1. Select BuildWindows10ARM
  2. Select version of Windows what you want to build
  3. Check that script done Stage 0
  4. Wait while it done
  5. Service image by hands if you need it and press Enter or just press Enter
  6. Wait little more
  7. Take your build in out folder