Closed timway closed 7 months ago
It is important that the "arm/v6" notation is used here, since "arm" nowadays default to using "arm/v7" (or arm64/v8)
I'm not sure that the older arm32 is correctly supported by the Podman ecosystem, you might need to get a Zero 2 W.
https://fedoraproject.org/wiki/Architectures/ARM/Raspberry_Pi
Fedora doesn't, and NEVER will, support ARMv6 processors. There's been a number of attempts to support these over the years, none are currently active.
Specifically code like this is wrong:
libpod/define/version.go: OsArch: runtime.GOOS + "/" + runtime.GOARCH,
pkg/bindings/system/system.go: OsArch: fmt.Sprintf("%s/%s", component.Os, component.Arch),
Since it is missing the Variant (v6
)
This was fixed in https://github.com/containers/image/pull/2086 (podman 5.0)
Thanks @Luap99 I obviously missed that in my pre-issue search.
Issue Description
I recently have been playing with a Raspberry Pi Zero W with the official Raspberry Pi OS (32-bit) on it. This uses the same SOC as the original Raspberry Pi and is only
armv6l
fromarch
oruname -m
. After installingpodman
from the repositories images silently fail to run in most causes. Manually specifying anlinux/arm/v6
image works as expected, likepodman run --rm --tty docker.io/arm32v6/hello-world@sha256:3ed0980a51d56657fce781ac8581ca6a94f4fd0d24a298b930dde0db8d7d17da
Steps to reproduce the issue
Steps to reproduce the issue
podman
from the OS repositories withapt install podman
podman run --rm --tty docker.io/hello-world
Describe the results you received
It just silently fails, more complex binaries that actually call instructions not available cause segfaults. I'd expect it to detect that the architecture is not correct at least and refuse to run an image (without installing
qemu
and doing emulation).Describe the results you expected
It works like any other
podman run ...
on different architectures.podman info output
Podman in a container
No
Privileged Or Rootless
None
Upstream Latest Release
No
Additional environment details
Additional information
Additional information like issue happens only occasionally or issue happens with a particular architecture or on a particular setting