Coder Social home page Coder Social logo

dockur / windows-arm Goto Github PK

View Code? Open in Web Editor NEW
647.0 13.0 71.0 625 KB

Windows for ARM in a Docker container.

License: MIT License

Dockerfile 1.54% Shell 98.46%
docker docker-container windows windows-virtual-machines windows-virtual-desktop windows-virtual-machine windows-vm virtualization

windows-arm's People

Contributors

kroese avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

windows-arm's Issues

[Question]: KVM acceleration not available (device file missing)

Is your question not already answered in the FAQ?

  • I made sure the question is not listed in the FAQ.

Is this a general question and not a technical issue?

  • I am sure my question is not about a technical issue.

Question

I want to run this on my Oracle Arm64 4c24g ubuntu22.04, below is my docker-compose.yml.

version: "3"
services:
  windows:
    container_name: windows
    image: dockurr/windows-arm
    privileged: true
    environment:
      VERSION: "win10"
      RAM_SIZE: "8G"
      CPU_CORES: "2"
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 172.17.0.1:28006:8006
      - 23389:3389/tcp
      - 23389:3389/udp
    volumes:
      - ./win:/storage
      - ./shared:/shared
    stop_grace_period: 2m
    restart: always

docker logs -f windows:

❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...

❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
❯ Starting Windows for Docker v2.03...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...

❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
❯ Starting Windows for Docker v2.03...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...

❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).
❯ Starting Windows for Docker v2.03...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Neoverse N1 | RAM: 21/24 GB | DISK: 144 GB (ext4) | HOST: 6.5.0-1021-oracle...

❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).

How to support /dev/kvm on it?

Running the image in Docker on Raspberry Pi5

Operating system

Ubuntu 23.10

Description

Pull the windows arm64 image on Docker hub, and run a container from it. It initializes and downloads resources successfully and the container starting automatically. The problem is there is no system window, and connecting to 8006 could also not work with cannot establish a connection. During the process, the display blackout several times so maybe it fails to start the screen. I am using it to install the Azure Kinect SDK therefore it also has problem. I use a docker exec to enter into the container. Maybe I am wrong at some steps, appreciate any instructions. Besides, thanks to the arm64 image you provide.

Docker compose

sudo docker run -it --privileged --device=/dev/kvm dockurr/windows-arm /bin/bash

Docker log

❯ Starting Windows for Docker v2.10...
❯ For support visit https://github.com/dockur/windows-arm
❯ CPU: Cortex A76 | RAM: 4/8 GB | DISK: 96 GB (ext4) | HOST: 6.5.0-1017-raspi...

❯ Downloading product information from Microsoft server...
❯ Downloading Windows 11...
/storage/tmp/win11arm64.esd 100%[=====================================================>] 4.88G 25.7MB/s in 3m 53s
❯ Extracting Windows 11 bootdisk...
❯ Extracting Windows 11 environment...
❯ Extracting Windows 11 setup...
❯ Extracting Windows 11 image...
❯ Adding drivers to image...
❯ Adding win11arm64.xml for automatic installation...
❯ Building Windows 11 image...
❯ Creating a 64G growable disk image in raw format...
❯ Warning: your configured RAM_SIZE of 4 GB is very close to the 4 GB of memory available, please consider a lower value.
❯ Booting Windows using QEMU v8.2.4...

BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
❯ Windows started succesfully, visit http://localhost:8006/ to view the screen...

UEFI firmware (version 2024.02-2 built at 14:25:33 on Mar 11 2024)

BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
UEFI firmware (version 2024.02-2 built at 14:25:33 on Mar 11 2024)

BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,2592B0E6-28E2-4154-9CB5-0B6AF2064F30,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi

Screenshots (optional)

image

image

[Bug]: Error on Asahi Linux ERROR: TUN device missing.

Is there an existing issue for this?

  • I have searched the existing issues

Machine specifications

Apple M1 Pro, 16GB Ram

Operating system

Asahi Linux Fedora Remix 40

Docker version

podman version 5.0.2

Description

when trying to run a windows vm using podman I get the following error: ERROR: TUN device missing. Please add the following setting to your container: --device /dev/net/tun --cap-add

Docker compose

commands used:

  • podman run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
  • podman run -it --rm --name windows -p 8006:8006 --device=/dev/net/tun --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm

Docker log

N/A

Screenshots (optional)

swappy-20240511-203604

Unable to deploy on ARM server

I use the docker command line provided by this project on my ARM server, and the system prompts "Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory."

Then I used the "cpu-checker" command to query and it showed "FATAL: Module msr not found in directory /lib/modules/6.2.0-39-generic". So is it because my server does not support KVM?

Startup error after modifying configuration.

When I added configuration to Docker Compose.yml to modify RAM and CPU, there was a startup error, whether it was the first creation or modification after creation.

    environment:
      VERSION: "win11"
      RAM_SIZE: "4G"
      CPU_CORES: "4"
root@orangepi5:/root/win# docker-compose up
[+] Building 0.0s (0/0)                                                                                                      docker:default
[+] Running 1/1
 ✔ Container windows  Recreated                                                                                                        0.2s 
Attaching to windows
windows  | ❯ Starting Windows for Docker v1.08...
windows  | ❯ For support visit https://github.com/dockur/windows-arm
windows  | 
windows  | ❯ Booting Windows using QEMU emulator version 8.2.1 ...
windows  | ❯ ERROR: qemu-system-aarch64: Failed to put registers after init: Invalid argument
windows exited with code 0

If the default configuration is used, there will be no errors.

no such file: /dev/kvm

exec "docker-compose up" on mac OS with m1 chip, then show the follow error:

Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory

can i run it on my mac?

ERROR: Timeout while waiting for QEMU to boot the machine!

Operating system

Debian 12 on Orange Pi 5 Plus

Description

When starting docker I see the following error and it dies.

[···]
windows  | ❯ Booting Windows using QEMU v8.2.4...
windows  | ❯ ERROR: Timeout while waiting for QEMU to boot the machine!
windows  | qemu-system-aarch64: terminating on signal 15 from pid 203 (bash)
windows  | ❯ Shutdown completed!
windows exited with code 0

I was following the #37 issue but could not get past this timeout. however since version 2.09 it now dies after giving timeout. before it would hang with some CPU usage.

Docker compose


version: '3.8'

services:
  windows:
    image: dockurr/windows-arm:2.10
    container_name: windows
    environment:
      VERSION: "win11"
      KEYBOARD: "es-ES"
      KVM: "Y"
      DEBUG: "Y"
      CPU_CORES: "2"
      RAM_SIZE: "4G"
      CPU_TASK_SET: "0,1,2,3"
    devices:
      - /dev/kvm
    volumes:
      - ./storage2:/storage
      - ./iso/win11arm64.iso:/custom.iso

    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
      - 5901-5909:5901-5909
    stop_grace_period: 2m
    networks:
      - windows

networks:
  windows:
    name: windows
    ipam:
      config:
        - subnet: '172.17.12.0/24'

Docker log

windows  | ❯ Starting Windows for Docker v2.10...
windows  | ❯ For support visit https://github.com/dockur/windows-arm
windows  | ❯ CPU: Cortex A55 | RAM: 9/16 GB | DISK: 206 GB (ext4) | HOST: 5.10.110-rockchip-rk3588...
windows  |
windows  | ❯ Host: 0bf665e41008  IP: 172.17.12.2  Gateway: 172.17.12.1  Interface: eth0  MAC: 02:D0:B1:0D:0B:02
windows  | nameserver 127.0.0.11
windows  |
windows  | ++ /usr/sbin/dnsmasq --dhcp-range=20.20.20.21,20.20.20.21 --dhcp-host=02:D0:B1:0D:0B:02,,20.20.20.21,QEMU,infinite --dhcp-option=option:netmask,255.255.255.0 --dhcp-option=option:dns-server,20.20.20.1 --dhcp-option=option:router,20.20.20.1 --address=/host.lan/20.20.20.1
windows  |
windows  | Arguments:
windows  |
windows  | -nodefaults
windows  | -cpu host
windows  | -smp 2,sockets=1,dies=1,cores=2,threads=1
windows  | -m 4G
windows  | -machine type=virt,secure=off,dump-guest-core=off,accel=kvm
windows  | -enable-kvm
windows  | -display vnc=:0,websocket=5700
windows  | -device virtio-gpu
windows  | -monitor telnet:localhost:7100,server,nowait,nodelay
windows  | -daemonize
windows  | -D /run/shm/qemu.log
windows  | -pidfile /run/shm/qemu.pid
windows  | -name windows,process=windows,debug-threads=on
windows  | -serial pty
windows  | -device qemu-xhci,id=xhci
windows  | -device usb-kbd
windows  | -device usb-tablet
windows  | -netdev tap,ifname=qemu,script=no,downscript=no,id=hostnet0
windows  | -device virtio-net-pci,romfile=,netdev=hostnet0,mac=02:D0:B1:0D:0B:02,id=net0
windows  | -drive file=/storage/windows.5916098560.iso,id=cdrom0,format=raw,readonly=on,media=cdrom,if=none
windows  | -device virtio-scsi-pci,id=cdrom0b,bus=pcie.0,addr=0x5,iothread=io2
windows  | -device scsi-cd,drive=cdrom0,bus=cdrom0b.0,bootindex=10
windows  | -drive file=/storage/data.img,id=data3,format=raw,cache=none,aio=native,discard=on,detect-zeroes=on,if=none
windows  | -device virtio-scsi-pci,id=data3b,bus=pcie.0,addr=0xa,iothread=io2
windows  | -device scsi-hd,drive=data3,bus=data3b.0,channel=0,scsi-id=0,lun=0,rotation_rate=1,bootindex=3
windows  | -object iothread,id=io2
windows  | -rtc base=localtime
windows  | -drive file=/storage/windows.rom,if=pflash,unit=0,format=raw,readonly=on
windows  | -drive file=/storage/windows.vars,if=pflash,unit=1,format=raw
windows  | -object rng-random,id=objrng0,filename=/dev/urandom
windows  | -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,addr=0x1c
windows  | ❯ Booting Windows using QEMU v8.2.4...
windows  | ❯ ERROR: Timeout while waiting for QEMU to boot the machine!
windows  | qemu-system-aarch64: terminating on signal 15 from pid 203 (bash)
windows  | ❯ Shutdown completed!
windows exited with code 0

Screenshots (optional)

No response

Error QEMU

Hello.
I'm trying to install on the orange pi 3b. Running casaOs. But it is showing the following error:

windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m

This error occurs after unzipping the windows11 image.
Previously, I tried to install the x64 version (I thought it was this version) and it just shows great slowness, but Windows actually goes to the installation part.

I ran sudo kvm-ok and it showed no errors.

windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;34m❯ �[1;36mDownloading product information from Microsoft...�[0m
windows | �[1;34m❯ �[1;36mDownloading Windows 11 for ARM...�[0m
windows |
windows | 0K ........ ........ ........ ........ 0% 22.7M 3m38s
windows | 5079040K ........ ........ ........ ........ 99% 31.9M 0s
windows | 5111808K ....... 100% 25.0M=3m2s
windows |
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM bootdisk...�[0m
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM environment...�[0m
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM setup...�[0m
windows | �[1;34m❯ �[1;36mExtracting Windows 11 for ARM image...�[0m
windows | �[1;34m❯ �[1;36mAdding XML file for automatic installation...�[0m
windows | �[1;34m❯ �[1;36mBuilding Windows 11 for ARM image...�[0m
windows | �[1;34m❯ �[1;36mCreating a 64G growable disk image in raw format...�[0m
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm
windows |
windows | �[1;31m❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.�[0m
windows | �[1;31m❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).�[0m
windows | ❯ Starting Windows for Docker v1.10...
windows | ❯ For support visit https://github.com/dockur/windows-arm

Encountering the “Display output is not active” issue, how can it be resolved?

Operating system

Kylin-V10-SP3

Description

Encountering the “Display output is not active” issue, how can it be resolved?

Nested virtualization is not supported

KVM: N

Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Authorized users only. All activities may be monitored and reported.

WARNING! The remote SSH server rejected X11 forwarding request.

Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Tue Jul  2 13:36:50 2024 from 192.168.100.95
[root@aaaa ~]# uname -a
Linux aaaa 4.19.90-52.38.v2207.ky10.aarch64 #4 SMP Wed May 8 19:16:35 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
[root@aaaa ~]# lscpu
Architecture:                    aarch64
CPU op-mode(s):                  64-bit
Byte Order:                      Little Endian
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              1
Core(s) per socket:              8
Socket(s):                       2
NUMA node(s):                    1
Vendor ID:                       HiSilicon
Model:                           0
Model name:                      Kunpeng-920
Stepping:                        0x1
CPU max MHz:                     2600.0000
CPU min MHz:                     2600.0000
BogoMIPS:                        200.00
L1d cache:                       1 MiB
L1i cache:                       1 MiB
L2 cache:                        8 MiB
L3 cache:                        64 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs
[root@aaaa ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Lance)

Docker compose

services:
  windows:
    image: dockurr/windows-arm:2.11
    container_name: wis
    privileged: true
    cap_add:
      - NET_ADMIN
    volumes:
      - ./data:/storage 
    environment:
      KVM: N
      CPU_CORES: "12" 
      RAM_SIZE: "32G" 
      DISK_SIZE: "128G" 
    devices:
      - /dev/kvm
    ports:
      - 8006:8006  
      - 3389:3389/tcp
      - 3389:3389/udp  
    stop_grace_period: 2m
    restart: on-failure

Docker log

[root@aaaa 01.wis]# docker-compose up
[+] Running 1/0
 ✔ Container wis  Created                                                                                                                                                 0.0s 
Attaching to wis
wis  | ❯ Starting Windows for Docker v2.11...
wis  | ❯ For support visit https://github.com/dockur/windows-arm
wis  | ❯ CPU: TaiShan v110 | RAM: 49/63 GB | DISK: 479 GB (xfs) | HOST: 4.19.90-52.38.v2207.ky10.aarch64...
wis  | 
wis  | ❯ Booting Windows using QEMU v8.2.4...
wis  | UEFI firmware (version 2024.05-1 built at 16:56:31 on Jun  4 2024)
wis  | 



BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
wis  | BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
wis  | BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
wis  | 
                                                    

  Loading files...

  lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll 
                                                                              
  Loading files...

  llllll                                                                      ❯ Windows started succesfully, visit http://localhost:8006/ to view the screen...
                                                                              

Screenshots (optional)

image

Doesn't run on OracleCloud ARM?

$ sudo kvm-ok
INFO: /dev/kvm does not exist
HINT: sudo modprobe kvm
modprobe: FATAL: Module msr not found in directory /lib/modules/6.5.0-1019-oracle

Failed Download

I finished my docker compose with this configuration:

version: "3"
services:
  windows:
    container_name: windows
    image: dockurr/windows-arm
    devices:
      - /dev/tty1
    volumes:
      - /var/win:/storage
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    restart: on-failure
    environment:
      RAM_SIZE: "4G"
      CPU_CORES: "2"
      DISK_SIZE: "25G"
      VERSION: "win10"

    networks:
      - net-windows

networks:
  net-windows:
    driver: bridge

I'm not user /dev/kvm caused my macbook not support it, I used /dev/tty1.
but, during download file to microsofr server, I found error like this:

ERROR: Failed to download http://dl.delivery.mp.microsoft.com/filestreamingservice/files/0796d7b4-b59c-4aac-9b29-64666728c3e3/19045.3803.231204-0204.22h2_release_svc_refresh_CLIENTCONSUMER_RET_A64FRE_en-us.esd , reason: 3

Erroneous disk space error after downloading

services:
  windows:
    container_name: windows
    image: dockurr/windows-arm
    #devices:
      #- /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    environment:
      - RAM_SIZE="2G"
      - CPU_CORES="2"
      - DISK_SIZE="45G"
    volumes:
      - "/path/to/my/data/folder:/storage"
    stop_grace_period: 2m
    restart: unless-stopped

It attempts to download the .esd file but errors out and restarts the download. Error is:

ERROR: Not enough free space in /storage, have 9 GB available but need at least 15 GB.

The path to my /storage is a 1TB drive. Why would such an error be thrown up?

ERROR: Status 1 while: ip tuntap add dev "$VM_NET_TAP" mode tap (line 163/295)

ERROR: Status 1 while: ip tuntap add dev "$VM_NET_TAP" mode tap (line 163/295)

root@orangepi5:~# docker run -it --rm -p 8007:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm
❯ Starting Windows for Docker v1.07...
❯ For support visit https://github.com/dockur/windows-arm

❯ Downloading product information from Microsoft...
❯ Downloading Windows 11 for ARM...
/storage/tmp/win11arm64.esd   100%[=================================================>]   4.88G  7.99MB/s    in 10m 48s
❯ Extracting Windows 11 for ARM bootdisk...
❯ Extracting Windows 11 for ARM environment...
❯ Extracting Windows 11 for ARM setup...
❯ Extracting Windows 11 for ARM image...
❯ Adding XML file for automatic installation...
❯ Building Windows 11 for ARM image...
❯ Creating a 64G growable disk image in raw format...
open: No such device
❯ ERROR: Status 1 while: ip tuntap add dev "$VM_NET_TAP" mode tap (line 163/295)

OS:Linux orangepi5 5.10.110-rockchip-rk3588 #1.1.6 SMP Thu Jun 1 21:23:54 CST 2023 aarch64 GNU/Linux(debian12)
I'm just a rookie, I don't know what this is about, I don't know how to do it, thanks.

Display output is not activate

Operating system

Ubuntu 18.04

Description

Display output is not activate

Docker compose

version: "3.0"
services:
qemu:
container_name: arm_ubuntu
image: qemux/qemu-arm
environment:
RAM_SIZE: "4G"
CPU_CORES: "4"
DISK_SIZE: "20G"
cap_add:
- NET_ADMIN
volumes:
- /home/files/ubuntu-18.04.6-server-arm64.iso:/storage/boot.iso
devices:
- /dev/kvm
ports:
- 8006:8006
stop_grace_period: 2m
restart: on-failure

Docker log

no

Screenshots (optional)

image

ERROR BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK "

Hi!

This product very interesting for users who use MacOs M chip ^)

Iam run this command

docker run -it --rm --name windows -p 8006:8006 -e "KVM=N" --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm

and them result

BdsDxe: failed to load Boot0002 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0xA,0x0)/Scsi(0x0,0x0): Not Found
2024-03-04 17:06:54 BdsDxe: loading Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)
2024-03-04 17:06:54 BdsDxe: starting Boot0001 "UEFI QEMU QEMU CD-ROM " from PciRoot(0x0)/Pci(0x5,0x0)/Scsi(0x0,0x0)

Bug report

Image_1715220081100.png

I install Windows 11 arm in docker ( Nanopc T6 ), report bug,what is the problem?

Docker maclvn network

Operating system

ubuntu 24.04 arm

Description

I use the command docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=end1 vlan
created docker maclvn network, when I use the command docker compose up ,the container (windows 11 arm) started successful,but I Couldn't access the container from the web http://localhost:8006/, If I delete the networks in docker-compose.yml, I Can access the container from the web http://localhost:8006/ successful, I want to use the RDP to connect the container,can you help me?

Docker compose

services:
windows:
container_name: windows
image: dockurr/windows-arm
environment:
VERSION: "win11"
RAM_SIZE: "8G"
CPU_CORES: "4"
DISK_SIZE: "256G"
devices:
- /dev/kvm
device_cgroup_rules:
- 'c : rwm'
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
networks:
vlan:
ipv4_address: 192.168.0.150

networks:
vlan:
external: true

Docker log

Image_1716997821557
Image_1716997818960

Screenshots (optional)

Image_1716996505432
Image_1716996512186
Image_1716996521068

How I fix this problem on my k8s?

Problem:
❯ Starting Windows for Docker v...
❯ For support visit https://github.com/dockur/windows-arm

RTNETLINK answers: File exists
❯ ERROR: Failed to create bridge. Please add the following setting to your container: --cap-add NET_ADMIN

My Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: windows
spec:
replicas: 1
selector:
matchLabels:
app: windows
template:
metadata:
labels:
app: windows
spec:
containers:
- name: windows
image: dockurr/windows-arm
imagePullPolicy: Always
ports:
- containerPort: 8006
name: http
- containerPort: 3389
name: rdp
resources:
requests:
memory: "400Mi"
cpu: "20m"
limits:
memory: "4Gi"
cpu: "1500m"
securityContext:
privileged: true
capabilities:
add:
- NET_ADMIN
env:
- name: VERSION
value: "win11"
- name: MANUAL
value: "Y"
- name: RAM_SIZE
value: "4G"
- name: CPU_CORES
value: "2"
volumeMounts:
- name: windows-data
mountPath: /storage
restartPolicy: Always
volumes:
- name: windows-data
persistentVolumeClaim:
claimName: windows-data-pvc

Cant running on RK3399 Board with Error "kvm_arm_vcpu_init failed: Invalid argument"

This is Docker log
❯ Starting Windows for Docker v1.09...
❯ For support visit https://github.com/dockur/windows-arm

❯ Downloading product information from Microsoft...
❯ Downloading Windows 10 for ARM...
/storage/tmp/win10arm64.esd 77%[==========================================> ] 2.65G 3.02MB/s in 17m 5s
/storage/tmp/win10arm64.esd 100%[+++++++++++++++++++++++++++++++++++++++++++============>] 3.41G 1.34MB/s in 10m 54s
❯ Extracting Windows 10 for ARM bootdisk...
❯ Extracting Windows 10 for ARM environment...
❯ Extracting Windows 10 for ARM setup...
❯ Extracting Windows 10 for ARM image...
❯ Adding XML file for automatic installation...
❯ Building Windows 10 for ARM image...
❯ Creating a 64G growable disk image in raw format...
❯ Booting Windows using QEMU emulator version 8.2.1 ...
❯ ERROR: kvm_arm_vcpu_init failed: Invalid argument

how can i solve this problem?

windows The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested 0.0s Attaching to windows

Operating system

Kylin-V10-SP3

Kylin Linux Advanced Server release V10 (Lance)

Description

I tried deploying Windows on the following system and encountered an error. Is it a compatibility issue or something else?

Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.

Authorized users only. All activities may be monitored and reported.

WARNING! The remote SSH server rejected X11 forwarding request.

Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Tue Jul  2 13:36:50 2024 from 192.168.100.95
[root@aaaa ~]# uname -a
Linux aaaa 4.19.90-52.38.v2207.ky10.aarch64 #4 SMP Wed May 8 19:16:35 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
[root@aaaa ~]# lscpu
Architecture:                    aarch64
CPU op-mode(s):                  64-bit
Byte Order:                      Little Endian
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              1
Core(s) per socket:              8
Socket(s):                       2
NUMA node(s):                    1
Vendor ID:                       HiSilicon
Model:                           0
Model name:                      Kunpeng-920
Stepping:                        0x1
CPU max MHz:                     2600.0000
CPU min MHz:                     2600.0000
BogoMIPS:                        200.00
L1d cache:                       1 MiB
L1i cache:                       1 MiB
L2 cache:                        8 MiB
L3 cache:                        64 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm ssbs
[root@aaaa ~]# cat /etc/kylin-release
Kylin Linux Advanced Server release V10 (Lance)

Docker compose

services:
  windows:
    image: dockurr/windows-arm:2.11
    container_name: wis
    privileged: true
    cap_add:
      - NET_ADMIN
    volumes:
      - ./data:/storage 
    environment:
      VERSION: "win10"
      CPU_CORES: "8" 
      RAM_SIZE: "16G" 
      DISK_SIZE: "128G" 
    devices:
      - /dev/kvm
    ports:
      - 8006:8006  
      - 3389:3389/tcp
      - 3389:3389/udp  
    stop_grace_period: 2m
    restart: on-failure

Docker log

[root@aaaa 01.wis]# docker-compose up
WARN[0000] /dmdata/apps/01.wis/docker-compose.yaml: `version` is obsolete 
[+] Running 2/0
 ✔ Container wis                                                                                                                                          Created         0.1s 
 ! windows The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested                 0.0s 
Attaching to wis
wis  | Failed to fire hook: Unix syslog delivery error
wis  | Failed to write to log, write /dev/null: bad file descriptor
wis  | Failed to fire hook: Unix syslog delivery error
wis  | Failed to write to log, write /dev/null: bad file descriptor
wis  | Failed to fire hook: Unix syslog delivery error
wis  | Failed to write to log, write /dev/null: bad file descriptor
wis  | Failed to fire hook: Unix syslog delivery error
wis  | Failed to write to log, write /dev/null: bad file descriptor
wis  | Failed to fire hook: Unix syslog delivery error
wis  | Failed to write to log, write /dev/null: bad file descriptor
wis  | Failed to fire hook: Unix syslog delivery error
wis  | Failed to write to log, write /dev/null: bad file descriptor
wis  | standard_init_linux.go:241: exec user process caused "exec format error"
wis  | libcontainer: container start initialization failed: standard_init_linux.go:241: exec user process caused "exec format error"
wis exited with code 0

Screenshots (optional)

image

image

No response

When I use the quick start command it downloads the necessary packages and extracts them and then it gives me this error

Is there no existing issue for this?

  • I have searched the existing issues

Machine specifications

Virtual enviroment from Google cloud

Operating system

Ubuntu 22.04.4

Docker version

26.1.1

Description

Tried to install with the cli and got the issue

Docker compose

docker run -it --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm

Docker log

I can't copy at the moment

Screenshots (optional)

Screenshot_2024-05-18-15-46-17-178_com brave browser

[Bug]: awk error when trying to start 1.14

Is there an existing issue for this?

  • I have searched the existing issues

Machine specifications

RaspberryPi 5 / 8 GB

Operating system

Debian 12 (stable)

Docker version

26.0.1

Description

Using version 1.12 it works but when trying to start 1.14 it fails.

Docker compose

services:
  app:
    image: dockurr/windows-arm:1.14
    volumes:
      - ./data/storage:/storage
    environment:
      - VERSION=win11
      - RAM_SIZE=4G
      - CPU_CORES=2
      - DISK_SIZE=128G
    ports:
      - 3389:3389
      - 3389:3389/udp
    restart: on-failure
    devices:
      - /dev/kvm
    stop_grace_period: 2m
    cap_add:
      - NET_ADMIN

Docker log

app-1  | ❯ Starting Windows for Docker v1.14...
app-1  | ❯ For support visit https://github.com/dockur/windows-arm
app-1  | 
app-1  | reset.sh: line 47: qemu-system-x86_64: command not found
app-1  | ❯ ERROR: Status 127 while: awk '{ print $NF }' (line 47/11)
app-1  | ❯ ERROR: Status 127 while: VERS=$(qemu-system-x86_64 --version | head -n 1 | cut -d '(' -f 1 | awk '{ print $NF }') (line 47/11)

Screenshots (optional)

No response

Increasing hardware specs

Hello I have tried to add the environment: with RAM and CPU request, and it got compose errors saying can't be added, i found an update for docker that says use this

      resources:
        limits:
          cpus: "4.0" # Adjust as needed
  

None of these seem to be working as I am running on a P{ineTab2 with 4 CPUs, and it seems locked to just 2 CPUs at the moment.

Can you show an example of where to put it for KVM to translate it? I am not finding any working references.

[Question]: how to run this on M1 pro

Question

When I run "docker run -it --rm --name windows -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm:1.13" , it says "docker: Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory.".
Any idea about enable kvm or install kvm on Apple Silicon Platform?

qemu: qemu_thread_create: Operation not permitted

Is there no existing issue for this?

  • I have searched the existing issues

Machine specifications

254GB

Operating system

ky10.aarch64

Docker version

18.09.9

Description

ERROR: qemu: qemu_thread_create: Operation not permitted

Docker compose

微信截图_20240524085137

Docker log

ERROR: qemu: qemu_thread_create: Operation not permitted

Screenshots (optional)

error

Installing issue

Is there no existing issue for this?

  • I have searched the existing issues

Machine specifications

Macbook Pro M1 Pro chips

Operating system

MacOS

Docker version

20.10.23

Description

Hi, I'm trying to install it on my m chips macbook, which don't have kvm.

Docker compose

services:
windows:
container_name: windows
image: dockurr/windows-arm
environment:
VERSION: "win11"
devices:
- /dev/kvm
cap_add:
- NET_ADMIN
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m

Docker log

williamli@lizhanghongruis-MacBook-Pro win % docker-compose up -d
[+] Running 1/2
⠿ Network win_default Created 0.0s
⠿ Container windows Starting 0.2s
Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory

Screenshots (optional)

No response

Any way to run on MacOS ?

I installed docker, and Qemu, libvirt, but there is no Kvm ports for MacOS afaik...
And the container stops with the following message:

% docker run -it --rm -p 8006:8006 --device=/dev/kvm --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm

Unable to find image 'dockurr/windows-arm:latest' locally
latest: Pulling from dockurr/windows-arm
eed0d719505a: Pull complete 
31b07b5697c1: Pull complete 
ba02d43f4705: Pull complete 
40c62c6cfc08: Pull complete 
2d881a14a102: Pull complete 
3351de803db4: Pull complete 
f243655be2a5: Pull complete 
Digest: sha256:5cebed2e21525c4cc425f17c5c706cb69cbfe3d43bc240998ef1c1c6db96bc51
Status: Downloaded newer image for dockurr/windows-arm:latest
docker: Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory.

So I removed the following parameter:
--device=/dev/kvm

And then it fails while requiring to start with an option I'm not sure to understand:

% docker run -it --rm -p 8006:8006 --cap-add NET_ADMIN --stop-timeout 120 dockurr/windows-arm 
❯ Starting Windows for Docker v1.00...
❯ For support visit https://github.com/dockur/windows-arm

❯ Downloading product information from Microsoft...
❯ Downloading Windows 11 for ARM...
/storage/tmp/win11a 100%[===================>]   4.88G  38.3MB/s    in 2m 24s  
❯ Extracting Windows 11 for ARM bootdisk...
❯ Extracting Windows 11 for ARM environment...
❯ Extracting Windows 11 for ARM setup...
❯ Extracting Windows 11 for ARM image...
❯ Adding XML file for automatic installation...
❯ Building Windows 11 for ARM image...
❯ Creating a 64G growable disk image in raw format...
❯ ERROR: KVM acceleration not available (device file missing), this will cause a major loss of performance.
❯ ERROR: See the FAQ on how to enable it, or continue without KVM by setting KVM=N (not recommended).

Do you think about any solution ?
Thank you !

Raspberry Pi 5

Hi!

I've installed dockur in a Raspberry Pi 5 successfully, but when I start windows I only have a resolution of 800X600 and it does not allow me to change it, have anyone encountered this issue?

Cheers

[Bug]: Timeout while waiting for QEMU to boot the machine

Is there an existing issue for this?

  • I have searched the existing issues

Machine specifications

RaspberryPi 5 / 8 GB

Operating system

Debian 12 (stable)

Docker version

26.1.0

Description

When starting the Docker container using 2.0.0 this error shows up in the logs:

ERROR: Timeout while waiting for QEMU to boot the machine!

It seems not to affect the start of Windows itself, as it's perfectly usable 👍🏼

After a shutdown & start the same error still shows up.

Docker compose

services:
  app:
    image: dockurr/windows-arm:2.00
    volumes:
      - ./data/storage:/storage
    environment:
      - VERSION=win11
      - RAM_SIZE=4G
      - CPU_CORES=2
      - DISK_SIZE=128G
    ports:
      - 3389:3389
      - 3389:3389/udp
    restart: on-failure
    devices:
      - /dev/kvm
    stop_grace_period: 2m
    cap_add:
      - NET_ADMIN

Docker log

BdsDxe: loading Boot0004 "Windows Boot Manager" from HD(1,GPT,1F6C1699-A5C8-459B-AB12-9BDACC0AE054,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
BdsDxe: starting Boot0004 "Windows Boot Manager" from HD(1,GPT,1F6C1699-A5C8-459B-AB12-9BDACC0AE054,0x800,0x40000)/\EFI\Microsoft\Boot\bootmgfw.efi
❯ ERROR: Timeout while waiting for QEMU to boot the machine!

Screenshots (optional)

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.