Please use the new Windows Deployment Tool for Raspberry Pi at the link below instead of following this guide. Only use this guide if that doesn’t work.
Hello,
This is a simple guide to creating a Windows 10 image using the new MCCI USB drivers and Ethernet support that was successful for me.
This guide uses an older Windows build (17134). I am testing a newer Windows build and will report back if that works.
What you need
- WoA Installer for Raspberry Pi
- Windows 10 ARM image (this guide uses 17134)
- Core Package 1.3
- Ethernet driver
- MCCI USB driver
- New open-source UEFI prebuilt binaries
- Class 10 minimum SD card
Caveats
- GPU isn’t supported - all is SW rendered
- Onboard Wifi is not functional - You can use a USB wifi adapter
- Ethernet works, but the lights don’t light up (UPDATE: Some say their boards do have their Ethernet light up. Mine doesn’t. Status unknown.)
- No external RTC support means the system clock is all over the place
- Windows self-activates and we don’t know why
- USB drivers are officially supported from MCCI Inc, the same company Microsoft hired to create USB drivers currently in Windows 10 IoT Core. These drivers work, but are only licensed for non-commercial use.
- Some performance issues. The latest builds with the new drivers seem particularly slow compared to the old USB drivers and UEFI. Hmm…
- These instructions use some out-of-date software. This is only until newer versions can be tested later today.
Instructions
Newly updated, because the USB drivers are now in Core Package 1.3. The Ethernet drivers are not in the Core Package yet, so the instructions below allow you to add Ethernet support and disable overscan.
- Go to https://github.com/WoA-project/WoA-Installer/blob/master/Docs/Raspberry.md and download build 17134 (the one I used, others might work as well) of Windows 10 Pro, and the Core Package 1.3. The Core Package is open-source. Don’t use the 17763 build in the screenshot - it blue screens with the new MCCI USB drivers. Also, don’t download from the http://uup.rg-adguard.net/ link - instead use https://uupdump.ml/.
- Download the Ethernet drivers from https://www.microchip.com/SWLibraryWeb/producttc.aspx?product=OBJ-LAN78xx-WINDOWS .
- Unzip
Core Package 1.3
, and go into thedrivers/Pre-OOBE
folder. - Copy the
nds650
folder from the ethernet drivers into the samePre-OOBE
folder. - Modify
config.txt
in theUEFI
folder, and add the linedisable_overscan=1
at the end. - Rezip the Core Package.
- Open the WoA on Raspberry Installer, select your Windows image (mount the ISO and go into the
source
folder to find theinstall.wim
), and select the new Core Package you’ve modified on the Advanced tab. Flash. - When booting up for the first time, hit ESC repeatedly to go into the boot menu. I don’t remember exactly where the options are, but you need to set the CPU frequency to Max instead of default (default is only 600mHz), Change the SD Controller from Broadcom to Arsan, and change the boot order so the Arsan controller boots before UEFI shell.
- Install Windows! (Note: This will take a while. Your Pi will reboot once during the install. If you didn’t change the boot order, you might come back after lunch to find it at the UEFI shell. Just restart hit, hit ESC, and boot from the SD card to continue setup.)
Recommended Post-Install Tasks
- Set the ArsanSD to boot in the UEFI before UEFI shell. That way you don’t have to hit the ESC key repeatedly when starting up.
- Disable Windows Animations in the Ease of Access category of Settings.
- Disable Translucency in the Personalization section.
- Turn off your desktop background in Ease of Access category of Settings.
- New and Important: Go into the UEFI after installation and switch from Arasan back to Broadcom. Broadcom is noticeably faster.