lima: qemu-system-x86_64: Unknown Error (Was: `60022: Connection refused SSH`)

Hey folks. trying to run limactl start with the default configuration and getting this error image

the log file:

{“level”:“debug”,“msg”:“firmware candidates = [/usr/local/homebrew/Cellar/qemu/6.2.0/share/qemu/edk2-x86_64-code.fd /usr/share/OVMF/OVMF_CODE.fd /usr/share/qemu/ovmf-x86_64-code.bin]”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“OpenSSH version 8.6.1 detected”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“AES accelerator seems available, prioritizing aes128-gcm@openssh.com and aes256-gcm@openssh.com”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“info”,“msg”:“Starting QEMU (hint: to watch the boot progress, see "/Users/orisraeli/.lima/default/serial.log")”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“qCmd.Args: [/usr/local/homebrew/Cellar/qemu/6.2.0/bin/qemu-system-x86_64 -cpu host -machine q35,accel=hvf -smp 4,sockets=1,cores=4,threads=1 -m 4096 -drive if=pflash,format=raw,readonly=on,file=/usr/local/homebrew/Cellar/qemu/6.2.0/share/qemu/edk2-x86_64-code.fd -boot order=c,splash-time=0,menu=on -drive file=/Users/orisraeli/.lima/default/diffdisk,if=virtio -cdrom /Users/orisraeli/.lima/default/cidata.iso -netdev user,id=net0,net=192.168.5.0/24,dhcpstart=192.168.5.15,hostfwd=tcp:127.0.0.1:60022-:22 -device virtio-net-pci,netdev=net0,mac=52:55:55:65:16:ff -device virtio-rng-pci -display none -device virtio-vga -device virtio-keyboard-pci -device virtio-mouse-pci -parallel none -chardev socket,id=char-serial,path=/Users/orisraeli/.lima/default/serial.sock,server=on,wait=off,logfile=/Users/orisraeli/.lima/default/serial.log -serial chardev:char-serial -chardev socket,id=char-qmp,path=/Users/orisraeli/.lima/default/qmp.sock,server=on,wait=off -qmp chardev:char-qmp -name lima-default -pidfile /Users/orisraeli/.lima/default/qemu.pid]”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“info”,“msg”:“Waiting for the essential requirement 1 of 5: "ssh"”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“executing script "ssh"”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“executing ssh for script "ssh": /usr/bin/ssh [ssh -F /dev/null -o IdentityFile="/Users/orisraeli/.lima/_config/user" -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o NoHostAuthenticationForLocalhost=yes -o GSSAPIAuthentication=no -o PreferredAuthentications=publickey -o Compression=no -o BatchMode=yes -o IdentitiesOnly=yes -o Ciphers="^aes128-gcm@openssh.com,aes256-gcm@openssh.com" -o User=orisraeli -o ControlMaster=auto -o ControlPath="/Users/orisraeli/.lima/default/ssh.sock" -o ControlPersist=5m -p 60022 127.0.0.1 – /bin/bash]”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“qemu[stderr]: qemu-system-x86_64: Unknown Error”,“time”:“2022-01-11T14:11:09+02:00”} {“error”:“signal: abort trap”,“level”:“info”,“msg”:“QEMU has exited”,“time”:“2022-01-11T14:11:09+02:00”} {“level”:“debug”,“msg”:“stdout="", stderr="ssh: connect to host 127.0.0.1 port 60022: Connection refused\r\n", err=failed to execute script "ssh": stdout="", stderr="ssh: connect to host 127.0.0.1 port 60022: Connection refused\r\n": exit status 255”,“time”:“2022-01-11T14:11:09+02:00”}

I have the firewall turned off, using the Mac pro max (with the M1 processor). It’s seems the config file defined to search for an available port (written with 0 in the SSH PORT field) but it seems my machine is blocking it for some reason

Already updated qemu like specified here if I need to specify any other details please let me know

About this issue

  • Original URL
  • State: open
  • Created 2 years ago
  • Reactions: 2
  • Comments: 19 (6 by maintainers)

Most upvoted comments

Even though I tried to reinstall lima using Homebrew several times, limactl kept using qemu-system-x86_64. That may be because I was using Homebrew is for x86_64 while I switched to arm on the Terminal. I didn’t know I need to install Homebrew for two different environment of x86 and arm.

The solution for me was, install Homebrew arm64, then install qemu and lima using the Homebrew arm64.

$ exec arch -arm64e /bin/zsh
$  ~ uname -m
arm64

# Install Homebrew arm64 and switch brew environment
# https://gist.github.com/nrjdalal/e70249bb5d2e9d844cc203fd11f74c55#option-2---manually
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/$(logname)/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"

# install qemu and lima using Homebrew arm64
# https://gist.github.com/toricls/d3dd0bec7d4c6ddbcf2d25f211e8cd7b#1-install-qemu--lima
$  brew install qemu
$  brew install lima

Finally!

$ limactl start
$ limactl start --tty=false focal-amd64.yaml
$ limactl shell focal-amd64 uname -a
Linux lima-focal-amd64 5.4.0-99-generic #112-Ubuntu SMP Thu Feb 3 13:50:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Exact same problem, the file ~/.lima/default/serial.log has 0 Bytes on my Apple Silicon with M1Max.

I have the exact same problem.

Rosetta mode.

Unsupported. Please use native binary of QEMU