guix/gnu/services
Mathieu Othacehe 755f365b02
linux-libre: Support module compression.
This commit adds support for GZIP compression for linux-libre kernel
modules. The initrd modules are kept uncompressed as the initrd is already
compressed as a whole.

The linux-libre kernel also supports XZ compression, but as Guix does not have
any available bindings for now, and the compression time is far more
significant, GZIP seems to be a better option.

* gnu/build/linux-modules.scm (modinfo-section-contents): Use
'call-with-gzip-input-port' to read from a module file using '.gz' extension,
(strip-extension): new procedure,
(dot-ko): adapt to support compression,
(ensure-dot-ko): ditto,
(file-name->module-name): ditto,
(find-module-file): ditto,
(load-linux-module*): ditto,
(module-name->file-name/guess): ditto,
(module-name-lookup): ditto,
(write-module-name-database): ditto,
(write-module-alias-database): ditto,
(write-module-device-database): ditto.
* gnu/installer.scm (installer-program): Add "guile-zlib" to the extensions.
* gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto.
* gnu/services.scm (activation-script): Ditto.
* gnu/services/base.scm (default-serial-port): Ditto,
(agetty-shepherd-service): ditto,
(udev-service-type): ditto.
* gnu/system/image.scm (gcrypt-sqlite3&co): Ditto.
* gnu/system/linux-initrd.scm (flat-linux-module-directory): Add "guile-zlib"
to the extensions and make sure that the initrd only contains
uncompressed module files.
* gnu/system/shadow.scm (account-shepherd-service): Add "guile-zlib" to the
extensions.
* guix/profiles.scm (linux-module-database): Ditto.
2020-08-25 11:53:20 +02:00
..
admin.scm services: unattended-upgrade: Log output of the 'guix' commands. 2020-08-24 23:23:57 +02:00
audio.scm
auditd.scm services: auditd: Provide default configuration directory. 2020-07-27 12:06:36 +02:00
authentication.scm
avahi.scm
base.scm linux-libre: Support module compression. 2020-08-25 11:53:20 +02:00
certbot.scm
cgit.scm
configuration.scm
cuirass.scm
cups.scm
databases.scm services: postgresql: Provide postgresql commands. 2020-08-01 11:54:41 +02:00
dbus.scm
desktop.scm services: Allow (service accountsservice-service-type). 2020-08-19 20:44:18 +02:00
dict.scm
dns.scm
docker.scm services: docker: Add 'enable-iptables?' argument. 2020-08-16 11:07:50 +02:00
games.scm
ganeti.scm
getmail.scm
guix.scm
herd.scm
hurd.scm
kerberos.scm
linux.scm services: Add zram-device-service. 2020-08-02 15:54:37 +03:00
lirc.scm
mail.scm
mcron.scm
messaging.scm
monitoring.scm
networking.scm services: connman-shepherd-service: Don't use short flags. 2020-08-16 16:33:55 +03:00
nfs.scm
nix.scm services: nix: Add extra-options. 2020-07-25 12:27:35 +03:00
pam-mount.scm
pm.scm
rsync.scm
science.scm
sddm.scm
security-token.scm
shepherd.scm
sound.scm
spice.scm
ssh.scm
sysctl.scm
telephony.scm
version-control.scm
virtualization.scm
vpn.scm
web.scm
xorg.scm