On Wed, Dec 03, 2025 at 11:24:07AM +0100, Dan Horák wrote:
> On Tue, 2 Dec 2025 09:48:50 -0500
> Stephen Gallagher <[email protected]> wrote:
>
> > On Tue, Dec 2, 2025 at 9:25 AM Dan Horák <[email protected]> wrote:
>
> AFAIK the cross-arch emulation uses user-mode qemu that does translate
> syscalls between the "guest" and the "host" systems, which means
> endianess changes, translating parameters, etc. needs to happen. My
> theory is that something changed in F-43+ and qemu needs to adapt to
> that. Unless it's something like unknown $TERM or such.
>
> What is needed except having qemu-user-static-s390x installed to
> successfully run the podman command? It just hangs on any of my
> non-s390x systems (x86_64, aarch64, ppc64le).
FYI, you can reproduce it with qemu-s390x alone without podman involved,
which makes things a bit easier to debug.
First start a podman container
podman run --arch s390x --rm -it fedora:43-s390x
In another shell export the rootfs
podman export [container name] > f43.tar
and then extract it and run under qemu
mkdir f43
cd f43
tar xf ../f43.tar
qemu-s390x -L `pwd` ./usr/bin/bash
This lets you pass the '-strace' arg to qemu-s390x.
Normally bash in F42 runs with a prompt and we see
61385 ioctl(0,TCGETS,0x00007f34260697e8) = 0 ({c_iflag = ICRNL|IXON,c_oflag =
OPOST|ONLCR,c_cflag = B38400,CS8,CREAD,c_lflag =
ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOKE|IEXTEN,c_cc = "^C^\^?
^U^D",c_line = '^@'})
61385 ioctl(2,TCGETS,0x00007f34260697e8) = 0 ({c_iflag = ICRNL|IXON,c_oflag =
OPOST|ONLCR,c_cflag = B38400,CS8,CREAD,c_lflag =
ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOKE|IEXTEN,c_cc = "^C^\^?
^U^D",c_line = '^@'})
When I redirect stderr to a file/pipe the latter ioctl
obviously fails:
60841 ioctl(0,TCGETS,0x00007f19561fe7e8) = 0 ({c_iflag = ICRNL|IXON,c_oflag =
OPOST|ONLCR,c_cflag = B38400,CS8,CREAD,c_lflag =
ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHOCTL|ECHOKE|IEXTEN,c_cc = "^C^\^?
60841 ioctl(2,TCGETS,0x00007f19561fe7e8) = -1 errno=25 (Inappropriate ioctl
for device)
Now looking at F43 bash I no longer see QEMU reporting TCGETS
ioctl, instead I see
61809 ioctl(0,0x802c542a,0xd73fe8f4) = -1 errno=25 (Inappropriate ioctl for
device)
that suggests to me that bash is probably using a different (new?)
ioctl that QEMU does not have emulation for currently.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
--
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives:
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it:
https://pagure.io/fedora-infrastructure/new_issue