Skip to content

v6.2.0-winrt

Compare
Choose a tag to compare
@binarymaster binarymaster released this 08 May 14:52
· 2 commits to winrt since this release

See the latest release, this one is outdated now.

Archival Patched version by @driver1998.

Prebuilt binaries are compiled with MSYS/MinGW64 for Windows x64 host.

@echo off
set WINPE=winpe9600.vhd
set HDD=sdcard.vhd

qemu-system-arm ^
-M virt,highmem=false ^
-cpu cortex-a15 ^
--accel tcg,thread=multi ^
-m 2G ^
-bios QEMU_EFI_1512.fd ^
-device VGA ^
-device usb-kbd ^
-device usb-tablet ^
-device usb-storage,drive=usbstick -drive id=usbstick,if=none,file=%WINPE% ^
-device virtio-scsi-pci,id=scsi0 -drive if=virtio,file=%WINPE% ^
-drive id=mydrive,if=none,file=%HDD% -device sd-card,drive=mydrive ^
-rtc base=2013-07-15,clock=vm
  • How to boot WoA that you have deployed/installed:
@echo off
set HDD=sdcard.vhd

qemu-system-arm ^
-M virt,highmem=false ^
-cpu cortex-a15 ^
--accel tcg,thread=multi ^
-m 2G ^
-bios QEMU_EFI_1512.fd ^
-device VGA ^
-device usb-kbd ^
-device usb-tablet ^
-device virtio-scsi-pci,id=scsi0 -drive if=virtio,file=%HDD% ^
-drive id=mydrive,if=none,file=%HDD% -device sd-card,drive=mydrive ^
-rtc base=2013-07-15,clock=vm

Result should look like this: https://twitter.com/x86corez/status/1523303255438028800

How this technically works:

  1. Insert the same disk image into both SD card and VirtIO HDD
  2. UEFI recognizes VirtIO and boots from it
  3. Windows does not see VirtIO but does see SD card
  4. UEFI did not recognized SD card, so it only reported one HDD controller to the OS
  5. Windows does not go mad and proceeds to boot

Tested Windows on ARM builds:

  • ✔️ Windows RT 8.1 - build 6.3.9600.17328.armfre.winblue_r3.140827-1500
  • ✔️ Windows 10 Enterprise - build 10.0.15035.0.woafre.rs2_release.170209-1535
  • ❌ Windows RT beta - build 6.2.8330.0.armfre.fbl_woa.120424-2227

Known issues:

  • Keyboard will not work in UEFI
  • UEFI only can boot from VirtIO, but we're doing a trick here
  • USB EHCI emulation is not perfect and may get broken, especially during installation
  • Works only on 1 CPU core, it's possible to add more, but they are not being detected