sickcodes / Docker-OSX

Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers.
https://hub.docker.com/r/sickcodes/docker-osx
GNU General Public License v3.0
36.1k stars 1.78k forks source link

qemu stucks on `All the crated drill kernel threads have been scheduled at least once. Preparing.` #529

Open ReshaSD opened 1 year ago

ReshaSD commented 1 year ago

Trying to install Monterey. But it doesn't want too boot. I am able to choose macOS base system, but then after several logs it doesn't want to load any GUI to choose drive, install the system.

Basically I see this in QEmu: image I left it for 1-2 hours - nothing was changed.

Here is logs from docker:

docker-osx-docker-osx-1  | qemu-system-x86_64: warning: dbind: Couldn't connect to accessibility bus: Failed to connect to socket /run/user/1000/at-spi/bus: No such file or directory
docker-osx-docker-osx-1  | Gtk-Message: 11:37:19.807: Failed to load module "canberra-gtk-module"
docker-osx-docker-osx-1  | Gtk-Message: 11:37:19.808: Failed to load module "canberra-gtk-module"
docker-osx-docker-osx-1  | QEMU 6.2.0 monitor - type 'help' for more information
docker-osx-docker-osx-1  | (qemu) ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
docker-osx-docker-osx-1  | alsa: Could not initialize DAC
docker-osx-docker-osx-1  | alsa: Failed to open `default':
docker-osx-docker-osx-1  | alsa: Reason: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
docker-osx-docker-osx-1  | alsa: Could not initialize DAC
docker-osx-docker-osx-1  | alsa: Failed to open `default':
docker-osx-docker-osx-1  | alsa: Reason: No such file or directory
docker-osx-docker-osx-1  | audio: Failed to create voice `dac'
docker-osx-docker-osx-1  | ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
docker-osx-docker-osx-1  | alsa: Could not initialize ADC
docker-osx-docker-osx-1  | alsa: Failed to open `default':
docker-osx-docker-osx-1  | alsa: Reason: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
docker-osx-docker-osx-1  | ALSA lib conf.c:5178:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib conf.c:5701:(snd_config_expand) Evaluate error: No such file or directory
docker-osx-docker-osx-1  | ALSA lib pcm.c:2664:(snd_pcm_open_noupdate) Unknown PCM default
docker-osx-docker-osx-1  | alsa: Could not initialize ADC
docker-osx-docker-osx-1  | alsa: Failed to open `default':
docker-osx-docker-osx-1  | alsa: Reason: No such file or directory
docker-osx-docker-osx-1  | audio: Failed to create voice `adc'
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1
docker-osx-docker-osx-1  | qemu-system-x86_64: Slirp: Failed to send packet, ret: -1

Full log here: docker.log

Last lines like qemu-system-x86_64: Slirp: Failed to send packet, ret: -1 are appearing one per 15-20 min

My system:

$ uname -a \
; echo "${DISPLAY}" \
; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs \
; grep NAME /etc/os-release \
; df -h . \
; qemu-system-x86_64 --version \
; libvirtd --version \
; free -mh \
; nproc \
; egrep -c '(svm|vmx)' /proc/cpuinfo \
; ls -lha /dev/kvm \
; ls -lha /tmp/.X11-unix/ \
; ps aux | grep dockerd \
; docker ps | grep osx \
; grep "docker\|kvm\|virt" /etc/group
Linux stas-ubuntu 5.18.15-051815-generic #202207291649 SMP PREEMPT_DYNAMIC Fri Jul 29 17:44:07 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
:0
1
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/vgubuntu-root  913G  107G  761G  13% /
QEMU emulator version 6.2.0 (Debian 1:6.2+dfsg-2ubuntu6.3)
Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers
libvirtd (libvirt) 8.0.0
               total        used        free      shared  buff/cache   available
Mem:            31Gi        10Gi       1.1Gi       3.9Gi        19Gi        16Gi
Swap:          975Mi       975Mi       0.0Ki
24
48
crw-rw----+ 1 root kvm 10, 232 Aug  7 14:37 /dev/kvm
total 8.0K
drwxrwxrwt  2 root root 4.0K Aug  6 13:11 .
drwxrwxrwt 38 root root 4.0K Aug  7 14:50 ..
srwxrwxrwx  1 stas stas    0 Aug  6 13:11 X0
srwxrwxrwx  1 stas stas    0 Aug  6 13:11 X1
srwxrwxrwx  1 stas stas    0 Aug  6 13:11 X1004
srwxrwxrwx  1 gdm  gdm     0 Aug  6 13:10 X1024
srwxrwxrwx  1 gdm  gdm     0 Aug  6 13:10 X1025
root        1769  4.3  0.5 4223460 181792 ?      Ssl  Aug06  67:42 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
stas     2181739  0.0  0.0  12044  2460 pts/10   S+   14:50   0:00 grep --color=auto dockerd
266491701fe0   sickcodes/docker-osx:monterey   "/bin/bash -c 'sudo …"   13 minutes ago   Up 13 minutes   0.0.0.0:50922->10022/tcp, :::50922->10022/tcp   docker-osx-docker-osx-1
kvm:x:109:stas
docker:x:999:stas
libvirt:x:139:stas
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:140:

I've already tried these commands form I thought similar issues:

$ xhost +
access control disabled, clients can connect from any host
$ sudo modprobe msr cpuid

I tried bigsur running:

docker run -it --name docker-osx-big-sur \
    --device /dev/kvm \
    -p 50922:10022 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e "DISPLAY=${DISPLAY:-:0.0}" \
    sickcodes/docker-osx:big-sur

Got moslty same effect: image

P.S.Few month ago I set it up on another laptop without any problems, but now I have to moove all my work to new laptop

bebjakub commented 1 year ago

@ReshaSD did you fix that? Thank you!

ReshaSD commented 1 year ago

@bebjakub Unfortunately no. I am not experienced Linux user. For me all attempts were like "shot in the dark". So I gave up :-( But still watching on this thread if someone can spin up Docker-OSX on Ubuntu 22.04.

UPD: Tried it again after you message and saw that it stucks on different lines. image But it doesn't tell me anything which I can fix :-(

ReshaSD commented 1 year ago

@bebjakub I upgraded my Ubuntu from 22.04 to 22.10 and now docker-osx works fine. Don't know what was the problem, but the main difference between them - 22.04 on Wayland but 22.10 not.