Giter Club home page Giter Club logo

Comments (11)

morsDeiGH avatar morsDeiGH commented on May 26, 2024 2

Rockchip RK3588 have 4 core Cortex-A76 and 4 core Cortex-A55.
If disable 4 core Cortex-A76 or 4 core Cortex-A55 and after this container running normally, but with both core, we get an error "qemu-system-aarch64: Failed to put registers after init: Invalid argument".

  1. sudo chcpu --disable 0,1,2,3
  2. docker compose up
  3. sudo chcpu --enable 0,1,2,3

The problem seems to be due to different kernels

from windows-arm.

kroese avatar kroese commented on May 26, 2024

I cannot think of a reason why this happens. Because even without setting these values in your Dockerfile, they are still set to the defaults (4G and 2 cores) so if anything was wrong with the order I set them for example, it would also happen with the defaults.

I will see if I can reproduce this and fix it, but currently I have no ARM hardware available anymore (used my Pi5 for something else now), so it might take some time before I can fix this.

from windows-arm.

yuunnn-w avatar yuunnn-w commented on May 26, 2024

I cannot think of a reason why this happens. Because even without setting these values in your Dockerfile, they are still set to the defaults (4G and 2 cores) so if anything was wrong with the order I set them for example, it would also happen with the defaults.

I will see if I can reproduce this and fix it, but currently I have no ARM hardware available anymore (used my Pi5 for something else now), so it might take some time before I can fix this.

I suspect the issue might be due to the qemu version you are using being too old, leading to abnormal parameter passing. The error message is: ERROR: qemu-system-aarch64: Failed to put registers after init: Invalid argument . Moreover, the error occurs regardless of whether the parameters in the configuration file are removed or not. The qemu version we are using is 8.2.1, and the hardware we use is OrangePi 5 Plus.

from windows-arm.

samirdjelal avatar samirdjelal commented on May 26, 2024

I've got the same issue on OrangePi 5 Plus, I've used the default docker-compose without any changes or custom env vars

windows  | ❯ Extracting Windows 11 for ARM bootdisk...
windows  | ❯ Extracting Windows 11 for ARM environment...
windows  | ❯ Extracting Windows 11 for ARM setup...
windows  | ❯ Extracting Windows 11 for ARM image...
windows  | ❯ Adding XML file for automatic installation...
windows  | ❯ Building Windows 11 for ARM image...
windows  | ❯ Creating a 64G growable disk image in raw format...
windows  | ❯ Booting Windows using QEMU emulator version 8.2.1 ...
windows  | ❯ ERROR: qemu-system-aarch64: Failed to put registers after init: Invalid argument
windows  | ❯ Starting Windows for Docker v1.08...
windows  | ❯ For support visit https://github.com/dockur/windows-arm

from windows-arm.

kroese avatar kroese commented on May 26, 2024

For anyone experiencing this issue, can you add:

environment:
  DEBUG: "Y"

to your compose file. And then copy and paste the QEMU commandline arguments here. And also a copy of the arguments when it does not give that error. So we can compare both and see what the difference is between them?

from windows-arm.

Explosion-Scratch avatar Explosion-Scratch commented on May 26, 2024

@kroese Happening to me as well:

windows  | ❯ Starting Windows for Docker v1.09...
windows  | ❯ For support visit https://github.com/dockur/windows-arm
windows  |
windows  | ❯ Host: c84093f0d383  IP: 172.24.0.2  Gateway: 172.24.0.1  Interface: eth0  MAC: 02:7E:CC:0F:F0:80
windows  | nameserver 127.0.0.11
windows  |
windows  | ++ /usr/sbin/dnsmasq --dhcp-range=20.20.20.21,20.20.20.21 --dhcp-host=02:7E:CC:0F:F0:80,,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  | ❯ Booting Windows using QEMU emulator version 8.2.1 ...
windows  | Arguments: -nodefaults -cpu host -smp 4,sockets=1,dies=1,cores=4,threads=1 -m 4G -machine type=virt,secure=off,dump-guest-core=off,accel=kvm -enable-kvm -display vnc=:0,websocket=5700 -device ramfb -monitor telnet:localhost:7100,server,nowait,nodelay -daemonize -D /run/shm/qemu.log -pidfile /run/shm/qemu.pid -name windows,process=windows,debug-threads=on -serial pty -device qemu-xhci,id=xhci -device usb-kbd -device usb-tablet -netdev tap,ifname=qemu,script=no,downscript=no,id=hostnet0 -device virtio-net-pci,romfile=,netdev=hostnet0,mac=02:7E:CC:0F:F0:80,id=net0 -object iothread,id=io2 -drive id=cdrom0,media=cdrom,if=none,format=raw,readonly=on,file=/storage/win11arm64.iso -device virtio-scsi-pci,id=scsi0,iothread=io2,addr=0x5 -device scsi-cd,bus=scsi0.0,drive=cdrom0,bootindex=10 -drive id=cdrom1,media=cdrom,if=none,format=raw,readonly=on,file=/run/drivers.iso -device usb-storage,drive=cdrom1 -drive file=/storage/data.img,if=none,id=drive-userdata,format=raw,cache=none,aio=native,discard=on,detect-zeroes=on -device virtio-scsi-pci,id=hw-userdata,iothread=io2,bus=pcie.0,addr=0xa -device scsi-hd,bus=hw-userdata.0,channel=0,scsi-id=0,lun=0,drive=drive-userdata,id=userdata,rotation_rate=1,bootindex=3 -drive file=/storage/windows.rom,if=pflash,unit=0,format=raw,readonly=on -drive file=/storage/windows.vars,if=pflash,unit=1,format=raw -device virtio-balloon-pci,id=balloon0,bus=pcie.0,addr=0x4 -object rng-random,id=objrng0,filename=/dev/urandom -device virtio-rng-pci,rng=objrng0,id=rng0,bus=pcie.0,addr=0x1c
windows  |
windows  | ❯ ERROR: qemu-system-aarch64: Failed to put registers after init: Invalid argument
windows exited with code 0
`docker-compose.yml`
version: "3"
services:
  windows:
    container_name: windows
    image: dockurr/windows-arm
    environment:
      VERSION: "win11"
      RAM_SIZE: "4G"
      CPU_CORES: "4"
      DEBUG: "Y"
    volumes:
      - /home/tjs/Media/Windows:/storage
    devices:
      - /dev/kvm
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    stop_grace_period: 2m
    restart: on-failure

from windows-arm.

Explosion-Scratch avatar Explosion-Scratch commented on May 26, 2024

I also removed all environment variables except for VERSION and DEBUG and it's still happening.

from windows-arm.

Explosion-Scratch avatar Explosion-Scratch commented on May 26, 2024

I'm also running the Orange Pi 5B using Armbian

Screenfetch
❯ screenfetch
                          ./+o+-       tjs@tjsorange
                  yyyyy- -yyyyyy+      OS: Ubuntu 22.04 jammy
               ://+//////-yyyyyyo      Kernel: aarch64 Linux 5.10.160-legacy-rk35xx
           .++ .:/++++++/-.+sss/`      Uptime: 3d 1h 28m
         .:++o:  /++++++++/:--:/-      Packages: 1802
        o:+o+:++.`..```.-/oo+++++/     Shell: zsh 5.8.1
       .:+o:+o/.          `+sssoo+/    Disk: 1.5T / 6.0T (26%)
  .++/+:+oo+o:`             /sssooo.   CPU: ARM Cortex-A55 Cortex-A76 @ 8x 1.8GHz
 /+++//+:`oo+o               /::--:.   RAM: 4996MiB / 15718MiB
 \+/+o+++`o++o               ++////.
  .++.o+++oo+:`             /dddhhh.
       .+.o+oo:.          `oddhhhh+
        \+.++o+o``-````.:ohdhhhhh+
         `:o+++ `ohhhhhhhhyo++os:
           .o:`.syhhhhhhh/.oo++o`
               /osyyyyyyo++ooo+++/
                   ````` +oo+++o\:
                          `oo++.

from windows-arm.

kroese avatar kroese commented on May 26, 2024

I can find very little information about this error. I suspect this is some incompatibility between the OrangePI kernel and KVM, because all of you are running into this problem on a OrangePI device.

From this post: https://forum.armbian.com/topic/29785-orange-pi-5-plus-fails-to-start-ovmf-efi-firmware-under-kvm/ it seems like it can be solved by upgrading the OrangePI to the newer Debian Trixie distribution (which has a newer kernel I guess).

from windows-arm.

stlorenz avatar stlorenz commented on May 26, 2024

I have the same on a Rockchip Device Turing RK1

This has the same chip as the OrangePi RK3588, will test the upgrade.

from windows-arm.

stlorenz avatar stlorenz commented on May 26, 2024

The update runs into errors:
Processing triggers for man-db (2.10.2-1) ... perl: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.36' not found (required by /lib/aarch64-linux-gnu/libcrypt.so.1)`
Same for the bash package

from windows-arm.

Related Issues (20)

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.