Comment # 7 on bug 1143725 from
(In reply to Arnav Singh from comment #6)
> (qemu-linux-user 7.0.0-55.1)
> 
> I had the same issue with binaries exiting with code 255. I found that
> using qemu-aarch64 instead works perfectly:
> 
>     $ echo
> ':qemu-aarch64:M::
> \x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00:
> \xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\
> xff:/usr/bin/qemu-aarch64:POCF' > /proc/sys/fs/binfmt_misc/register
> 
>     $ cat /proc/sys/fs/binfmt_misc/qemu-aarch64 
> 
>     enabled
>     interpreter /usr/bin/qemu-aarch64
>     flags: POCF
>     offset 0
>     magic 7f454c460201010000000000000000000200b700
>     mask ffffffffffffff00fffffffffffffffffeffffff
> 
> Now Docker containers are able to run aarch64 binaries just fine.
> 
Yes! And thanks for the report.

In fact, we've been working on removing some [open]SUSE specific handling of
binfmt, which made things simpler, back then where they were introduced, but
were instead complicating them a lot, now that we have containers!

In fact, this works well for me as well now, just out of the box:

> $ podman pull --arch=arm64 docker.io/library/httpd
> $ sudo qemu-binfmt-conf.sh --systemd aarch64 --persistent yes
> $ sudo systemctl daemon-reload
> $ sudo systemctl start systemd-binfmt.service
> $ podman run --rm -it docker.io/library/httpd uname -a
> WARNING: image platform ({arm64 linux  [] v8}) does not match the expected platform ({amd64 linux  [] })
> Linux 827190b5981e 5.18.11-1-default #1 SMP PREEMPT_DYNAMIC Fri Jul 15 05:36:11 UTC 2022 (4fcb983) aarch64 GNU/Linux

> I did not test with a chroot to see if it behaves differently.
>
Yeah, no need to do that. I'll get rid of the qemu-binfmt binary, and of all
the symlinks, from the package ASAP. They're no longer needed and are only
confusing people!


You are receiving this mail because: