lima-vm / lima

Linux virtual machines, with a focus on running containers
https://lima-vm.io/
Apache License 2.0
14.92k stars 579 forks source link

[hostagent] Waiting for the essential requirement 1 of 4: "ssh" #2352

Open yang opened 3 months ago

yang commented 3 months ago

Description

This is on a Macbook M1 Max. Something appears to be running, but unable to ssh in:

$ uname -a
Darwin yangs-mbp-2022.lan 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:10:42 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6000 arm64

$ limactl -v
limactl version 0.22.0

$ qemu-io -V
qemu-io version 9.0.0
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers

$ limactl start
? Creating an instance "default" 
INFO[0131] Starting the instance "default" with VM driver "qemu"
INFO[0132] QEMU binary "/opt/local/bin/qemu-system-aarch64" seems properly signed with the "com.apple.security.hypervisor" entitlement
INFO[0132] Attempting to download the image              arch=aarch64 digest="sha256:c841bac00925d3e6892d979798103a867931f255f28fefd9d5e07e3e22d0ef22" location="https://cloud-images.ubuntu.com/releases/24.04/release-20240423/ubuntu-24.04-server-cloudimg-arm64.img"
Downloading the image (ubuntu-24.04-server-cloudimg-arm64.img)
451.75 MiB / 451.75 MiB [----------------------------------] 100.00% 10.61 MiB/s
INFO[0175] Downloaded the image from "https://cloud-images.ubuntu.com/releases/24.04/release-20240423/ubuntu-24.04-server-cloudimg-arm64.img"
INFO[0175] Attempting to download the nerdctl archive    arch=aarch64 digest="sha256:77c747f09853ee3d229d77e8de0dd3c85622537d82be57433dc1fca4493bab95" location="https://github.com/containerd/nerdctl/releases/download/v1.7.6/nerdctl-full-1.7.6-linux-arm64.tar.gz"
Downloading the nerdctl archive (nerdctl-full-1.7.6-linux-arm64.tar.gz)
209.65 MiB / 209.65 MiB [-----------------------------------] 100.00% 8.13 MiB/s
INFO[0202] Downloaded the nerdctl archive from "https://github.com/containerd/nerdctl/releases/download/v1.7.6/nerdctl-full-1.7.6-linux-arm64.tar.gz"
INFO[0203] [hostagent] hostagent socket created at /Users/yang/.lima/default/ha.sock
INFO[0204] [hostagent] Using system firmware ("/opt/local/share/qemu/edk2-aarch64-code.fd")
INFO[0204] [hostagent] Starting QEMU (hint: to watch the boot progress, see "/Users/yang/.lima/default/serial*.log")
INFO[0205] SSH Local Port: 60022
INFO[0204] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0214] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0300] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0386] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0471] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0557] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0642] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
INFO[0728] [hostagent] Waiting for the essential requirement 1 of 4: "ssh"
FATA[0802] did not receive an event with the "running" status

$ tail /Users/yang/.lima/default/serial*.log
==> /Users/yang/.lima/default/serial.log <==

==> /Users/yang/.lima/default/serialp.log <==

==> /Users/yang/.lima/default/serialv.log <==

$ limactl list
NAME       STATUS     SSH                VMTYPE    ARCH       CPUS    MEMORY    DISK      DIR
default    Running    127.0.0.1:60022    qemu      aarch64    4       4GiB      100GiB    ~/.lima/default

$ ssh -v -F /Users/yang/.lima/default/ssh.config lima-default
OpenSSH_9.6p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/yang/.lima/default/ssh.config
debug1: /Users/yang/.lima/default/ssh.config line 4: Applying options for lima-default
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: auto-mux: Trying existing master at '/Users/yang/.lima/default/ssh.sock'
debug1: Control socket "/Users/yang/.lima/default/ssh.sock" does not exist
debug1: Connecting to 127.0.0.1 [127.0.0.1] port 60022.
debug1: Connection established.
debug1: identity file /Users/yang/.lima/_config/user type 3
debug1: identity file /Users/yang/.lima/_config/user-cert type -1
debug1: identity file /Users/yang/.ssh/id_ed25519 type 3
debug1: identity file /Users/yang/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_9.6
AkihiroSuda commented 3 months ago

limactl start --video may show some error on the graphical console.

Also please check if limactl create --vm-type=vz works

yang commented 3 months ago

The video shows only "DIsplay output is not active."

--vm-type=vz seems to work. Immediately showed video output, accessed without issue for now.

mremars commented 1 month ago

Please have a look at this workaround It seems it is a qemu issue regarding afs compression https://trac.macports.org/ticket/68146

tux4ever commented 1 week ago

Hi, I face the same issue and tried the workaround but unfortunately without any success. It happens only if I use "x86_64" as desired architecture. I used the most recent versions of qemu (9.0.2) and lima (0.22.0).

AkihiroSuda commented 1 week ago

@tux4ever ~/.lima/<INSTANCE>/serial*.log may contain errors

tux4ever commented 1 week ago

serial.log In the log i see some exceptions regarding PXE and the http server could not be started

AkihiroSuda commented 1 week ago

In the log i see some exceptions regarding PXE and the http server could not be started

Probably you specified a wrong image?

tux4ever commented 1 week ago

I start with the default template and I only add the arch: "x86_64" property. If I change it to "aarch64" it works. This are the images from my yaml file.

  - location: "https://cloud-images.ubuntu.com/releases/24.04/release-20240809/ubuntu-24.04-server-cloudimg-amd64.img"
    arch: "x86_64"
    digest: "sha256:dd8b691b3f0d1e61f01ae0d857dcb3088d1d8bf4148439bd07abc081e4fc31f8"
  - location: "https://cloud-images.ubuntu.com/releases/24.04/release-20240809/ubuntu-24.04-server-cloudimg-arm64.img"
    arch: "aarch64"
    digest: "sha256:2e0c90562af1970ffff220a5073a7830f4acc2aad55b31593003e8c363381e7a"
  # Fallback to the latest release image.
  # Hint: run `limactl prune` to invalidate the cache
  - location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img"
    arch: "x86_64"
  - location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img"
    arch: "aarch64"
tux4ever commented 1 week ago

I found the issue. Was a corporate setting which prevented the download of the sshfs binary. It kept hanging in the connection set up.