diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-02-22 08:55:39 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2021-03-15 18:00:35 -0400 |
commit | 77c2f4e2068ebec3f384c826c5a99785125ff72c (patch) | |
tree | 2c57f079117b57441e63cf8e95d8af2031f04293 /etc | |
parent | d184fd42165a72221a1762dbb8651ff81534ac8c (diff) | |
download | guix-77c2f4e2068ebec3f384c826c5a99785125ff72c.tar.gz guix-77c2f4e2068ebec3f384c826c5a99785125ff72c.zip |
services/qemu-binfmt: Use the F flag and the static output of QEMU.
Fixes <https://issues.guix.gnu.org/36117>.
Before this change, the 'binfmt_misc' entries registered for QEMU would not be
usable in container contexts outside of guix-daemon (without manually bind
mounting file names).
For example:
$ docker run --rm arm32v7/debian true
standard_init_linux.go:207: exec user process caused "no such file or directory"
After this change, any container can make use of the QEMU binfmt_misc
registrations, as their corresponding QEMU static binaries are fully
pre-loaded by the kernel.
* gnu/services/virtualization.scm (<qemu-platform>): Define using
'define-record-type*'.
[flags]: New field, which defaults to "F" (fix binary).
(%i386, %i486, %alpha, %arm, %armeb, %sparc, %sparc32plus, %ppc, %ppc64)
(%ppc64le, %m68k, %mips, %mipsel, %mipsn32, %mipsn32el, %mips64, %mips64el)
(%riscv32, %riscv64, %sh4, %sh4eb, %s390x, %aarch64, %hppa): Adjust.
(qemu-binfmt-guix-chroot): Remove variable.
(qemu-binfmt-service-type): Remove the qemu-binfmt-guix-chroot extension.
* gnu/services/qemu-binfmt (qemu-platform->binfmt): Use the static output of
QEMU.
* doc/contributing.texi (Submitting Patches): Update doc.
* doc/guix.texi (Virtualization Services): Update doc.
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions