guix/gnu/services
Maxim Cournoyer 77c2f4e206
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.
2021-03-15 18:00:35 -04:00
..
admin.scm
audio.scm
auditd.scm
authentication.scm services: Prevent following symlinks during activation. 2021-03-10 18:01:47 +01:00
avahi.scm
base.scm
certbot.scm
cgit.scm
configuration.scm
cuirass.scm services: cuirass: Remove simple cuirass configuration. 2021-03-10 09:05:02 +01:00
cups.scm services: Prevent following symlinks during activation. 2021-03-10 18:01:47 +01:00
databases.scm services: postgresql-roles: Fix race condition. 2021-02-23 11:00:18 +01:00
dbus.scm services: Prevent following symlinks during activation. 2021-03-10 18:01:47 +01:00
desktop.scm
dict.scm
dns.scm services: Prevent following symlinks during activation. 2021-03-10 18:01:47 +01:00
docker.scm
file-sharing.scm services: Add transmission-daemon service. 2021-02-12 15:11:36 +08:00
games.scm
ganeti.scm
getmail.scm
guix.scm services: guix-build-coordinator: Add dynamic auth with file record. 2021-03-05 09:29:58 +00:00
herd.scm
hurd.scm
kerberos.scm
linux.scm
lirc.scm
mail.scm
mcron.scm
messaging.scm
monitoring.scm
networking.scm services: tor: Add control-socket? option. 2021-02-22 10:03:02 -05:00
nfs.scm
nix.scm
pam-mount.scm
pm.scm
rsync.scm
science.scm
sddm.scm
security-token.scm
shepherd.scm services: shepherd: Make 'assert-valid-graph' public. 2021-03-03 14:19:26 +01:00
sound.scm
spice.scm
ssh.scm
syncthing.scm
sysctl.scm
telephony.scm
version-control.scm
virtualization.scm services/qemu-binfmt: Use the F flag and the static output of QEMU. 2021-03-15 18:00:35 -04:00
vpn.scm services: wireguard: New service. 2021-02-17 10:32:15 +01:00
web.scm services: Add Agate Gemini service. 2021-02-15 13:35:04 +01:00
xorg.scm services: Add 'xorg-server-service-type'. 2021-02-11 17:01:43 +08:00