linux1@bpf-ci-runner-s390x-2:~$ sudo systemctl status
qemu-user-static.service
● qemu-user-static.service - Support for transparent execution of
non-native binaries with QEMU user emulation
Loaded: loaded (/etc/systemd/system/qemu-user-static.service;
enabled; vendor preset: enabled)
Active: active (exited) since Mon 2023-02-06 21:47:14 UTC; 7s ago
Process: 2761053 ExecStartPre=/usr/bin/docker run --rm --interactive
--privileged aptman/qus -s -- -r (code=exited, status=0/SUCCESS)
Process: 2761265 ExecStart=/usr/bin/docker run --rm --interactive
--privileged aptman/qus -s -- -p (code=exited, status=0/SUCCESS)
Main PID: 2761265 (code=exited, status=0/SUCCESS)
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-riscv32-static as binfmt interpreter for riscv32
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-riscv64-static as binfmt interpreter for riscv64
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-xtensa-static as binfmt interpreter for xtensa
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-xtensaeb-static as binfmt interpreter for xtensaeb
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-microblaze-static as binfmt interpreter for microblaze
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-microblazeel-static as binfmt interpreter for microblazeel
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-or1k-static as binfmt interpreter for or1k
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-x86_64-static as binfmt interpreter for x86_64
Feb 06 21:47:12 bpf-ci-runner-s390x-2 docker[2761265]: Setting
/qus/bin/qemu-hexagon-static as binfmt interpreter for hexagon
Feb 06 21:47:14 bpf-ci-runner-s390x-2 systemd[1]: Finished Support for
transparent execution of non-native binaries with QEMU user emulation.
linux1@bpf-ci-runner-s390x-2:~$ sudo docker exec -ti 112b682130e9 bash
root@112b682130e9:/actions-runner# /usr/x86_64-linux-gnu/bin/ls
_diag bin config.sh env.sh externals run-helper.cmd.template
run-helper.sh.template run.sh safe_sleep.sh svc.sh
multiarch/qemu-user-static
does not support hosts other than x86_64.aptman/qus
does. The command syntax is slightly different though.This change update the systemd resource to:
To test, I confirmed that after using this new container, we could still run x86_64 containers in s390x hosts:
Before:
Updated systemd resource and restarted it:
Signed-off-by: Manu Bretelle chantr4@gmail.com