firecracker-containerd
firecracker-containerd copied to clipboard
Error in starting a container on arm64
Although arm64 architecture was not formally claimed supported, it may be worthy to try and to see what's happening there.
I tried to follow the get-started page (https://github.com/firecracker-microvm/firecracker-containerd/blob/master/docs/getting-started.md) on an arm64 server. Everything (building, installing, starting daemon and pulling image) was OK until the last step to start a container.
The kernel and rootfs image mentioned in the page seems x86 specific, so I used files introduced in Firecracker get-started page instead:
- https://s3.amazonaws.com/spec.ccfc.min/img/aarch64/ubuntu_with_ssh/kernel/vmlinux.bin
- https://s3.amazonaws.com/spec.ccfc.min/img/aarch64/ubuntu_with_ssh/fsfiles/xenial.rootfs.ext4
The error was:
WARN[2020-02-20T08:50:53.955256915Z] firecracker exited: exit status 1 runtime=aws.firecracker vmID=9e63deea-94c3-46ad-b7d4-136074265861 ERRO[2020-02-20T08:50:54.016395902Z] attempt=5 error="non-temporary vsock dial failure: dial unix firecracker.vsock: connect: connection refused" runtime=aws.firecracker vmID=9e63deea-94c3-46ad-b7d4-136074265861 ERRO[2020-02-20T08:50:54.016551121Z] error="failed to create VM: failed to dial the VM over vsock: non-temporary vsock dial failure: dial unix firecracker.vsock: connect: connection refused" runtime=aws.firecracker vmID=9e63deea-94c3-46ad-b7d4-136074265861 ERRO[2020-02-20T08:50:54.017007519Z] failed to stop vm "9e63deea-94c3-46ad-b7d4-136074265861" error="os: process already finished" runtime=aws.firecracker vmID=9e63deea-94c3-46ad-b7d4-136074265861 ERRO[2020-02-20T08:50:54.017711722Z] error="shim CreateVM returned error: rpc error: code = Unknown desc = failed to create VM: failed to dial the VM over vsock: non-temporary vsock dial failure: dial unix firecracker.vsock: connect: connection refused" DEBU[2020-02-20T08:50:54.023210156Z] shim has been terminated error="signal: killed" vmID=9e63deea-94c3-46ad-b7d4-136074265861
Thanks for reporting the issue. I'm always curious about the ARM64, but haven't tried that by myself.
firecracker-containerd's rootfs must have our own agent. Using Firecracker team's rootfs wouldn't work. Building our rootfs on aarch64 would be the easiest way to go.