gnu: linux-libre-with-bpf: Deprecate in favor of linux-libre.
The kernel has progressively enabled the BPF settings, to the point where
having a separate kernel for it makes little sense, so repatriate the few
non-default BPF-related configs to our main kernel.
* gnu/packages/linux.scm (%bpf-extra-linux-options): Delete variable.
(default-extra-linux-options): Enable CONFIG_NET_CLS_BPF and
CONFIG_NET_ACT_BPF. CONFIG_IKHEADERS is dropped as it adds 4 MiB to the
kernel image and appears somewhat redundant with BTF debug info.
(linux-libre-with-bpf): Deprecate to linux-libre.
Change-Id: Id672241916dcbcdca7cbc16d869d00223446cd3d
gnu: linux-libre: Enable Zstd compression of kernel modules.
This brings the on disk size of the kernel from 164 MiB to 144 MiB, or about
12%.
* gnu/packages/linux.scm (default-extra-linux-options)
[version>=5.13]: Enable CONFIG_MODULE_COMPRESS_ZSTD, else
CONFIG_MODULE_COMPRESS_GZIP.
(make-linux-libre*) [phases] {set-environment}: Set ZSTD_CLEVEL environment
variable to 19.
[native-inputs]: Add zstd.
* gnu/build/linux-modules.scm (module-regex): Add .zst to regexp. Update doc.
(modinfo-section-contents): Extend support to Zstd compressed module.
(dot-ko): Register the 'zstd compression type.
(ensure-dot-ko, file-name->module-name, load-linux-module*)
(module-name->file-name/guess, write-module-name-database)
(write-module-alias-database, write-module-device-database): Update doc.
(module-name-lookup): Also consider zstd-compressed modules.
* gnu/installer.scm (installer-program): Add guile-zstd extension to gexp.
* gnu/system/linux-initrd.scm (flat-linux-module-directory): Likewise.
Decompress zstd-compressed modules for use in initrd.
* guix/profiles.scm (linux-module-database): Add guile-zstd extension to gexp.
Change-Id: Ide899dc5c58ea5033583b1a91a92c025fc8d901a
gnu: linux-libre: Enable BTF debug info.
This is needed for software making use of eBPF programs, such as the sysdig
utility, among others. For more information about BPF, see:
<https://brendangregg.com/blog/2020-11-04/bpf-co-re-btf-libbpf.html>.
* gnu/packages/linux.scm (%default-extra-linux-options): Enable
CONFIG_DEBUG_INFO, CONFIG_DEBUG_INFO_BTF,
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT, CONFIG_BPF_JIT,
CONFIG_BPF_JIT_ALWAYS_ON, CONFIG_BPF_SYSCALL and BPF_UNPRIV_DEFAULT_OFF.
Disable CONFIG_DEBUG_INFO_REDUCED.
(make-linux-libre*) [native-inputs]: Add dwarves, python-wrapper and zlib.
Change-Id: Idfc64f82aa404e86168bffcf721a325f9e807f75
gnu: linux: Turn %default-extra-linux-options into a procedure.
This is to allow version-specific options to the list of defaults.
* gnu/packages/linux.scm (%default-extra-linux-options): Transform to...
(default-extra-linux-options): ... this procedure, which accepts a 'version'
argument.
(make-linux-libre, linux-libre-arm-generic, linux-libre-arm-generic-5.10)
(linux-libre-arm-generic-5.4, linux-libre-arm64-generic)
(linux-libre-arm64-generic-5.10, linux-libre-arm64-generic-5.4)
(linux-libre-riscv64-generic, linux-libre-mips64el-fuloong2e)
(linux-libre-with-bpf): Adjust accordingly.
* doc/guix-cookbook.texi (Customizing the Kernel): Adjust accordingly.
Change-Id: Ifd3be8b7ed8699bada224a938dbc84205366ff3d
gnu: make-linux-libre*: Run install targets in parallel.
This reduces the total build time by about 20%.
* gnu/packages/linux.scm (make-linux-libre*) [phases] {install}: Ensure that
-jN is used for the install targets. Also honor make flags.
Change-Id: Ib3f4fdcbdeab736315a91eafa8d6d1dff5b89884
gnu: make-linux-libre*: Set KBUILD_BUILD_VERSION for reproducibility.
* gnu/packages/linux.scm (make-linux-libre*) [phases] {set-environment}: Set
KBUILD_BUILD_VERSION to 1.
Change-Id: I6c2e561605a13c757a4eb4d1c59343ba26464067
gnu: Add dwarves.
* gnu/packages/linux.scm (dwarves): New variable.
Change-Id: Ib2452868eae76bea95060a70e568dfb6e84b2a75
gnu: Add falcosecurity-libs.
* gnu/packages/linux.scm (falcosecurity-libs): New variable.
* gnu/packages/patches/falcosecurity-libs-install-pman.patch
* gnu/packages/patches/falcosecurity-libs-libscap-pc.patch
* gnu/packages/patches/falcosecurity-libs-pkg-config.patch
* gnu/packages/patches/falcosecurity-libs-shared-library-fix.patch
* gnu/packages/patches/falcosecurity-libs-libsinsp-pkg-config.patch: New files.
* gnu/local.mk (dist_patch_DATA): Register them.
Change-Id: I0cb15e6a25256598678fc20eb298ad947d699ef4
gnu: libbpf: Update to 1.4.1.
* gnu/packages/linux.scm (libbpf): Update to 1.4.1.
[phases] {install-linux-bpf-headers}: New phase.
[native-inputs]: Add linux-libre-headers-6.8.
Change-Id: I969a017b0ed52c1a611b3fe0d90d5b8703d35e73
gnu: libbpf: Use gexps.
* gnu/packages/linux.scm (libbpf) [arguments]: Use gexps.
Change-Id: I5529cda3b316a24b48f4a33bfd685695614350bb
gnu: e2fsprogs: Downgrade to 1.46.6.
1.47.0 would, by default, create an ext4 filesystem which was not
readable by our current version of grub. This should also address a
number of the system test failures.
* gnu/packages/linux.scm (e2fsprogs): Downgrade to 1.46.6.
Change-Id: Ifa6841185ab85d24479f981afc1b42a349716d80
gnu: linux-libre 4.19: Update to 4.19.315.
* gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.315.
(linux-libre-4.19-pristine-source): Update hash.
Change-Id: I43b80c214d87e385e422ce064c3d04e11c4a1997
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: linux-libre 5.4: Update to 5.4.277.
* gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.277.
(linux-libre-5.4-pristine-source): Update hash.
Change-Id: I0a51101f41109f784cb7a2cda47a01ab79378b46
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: linux-libre 5.10: Update to 5.10.218.
* gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.218.
(linux-libre-5.10-pristine-source): Update hash.
Change-Id: Ied5ce90401f0934ce9fcedad9be86376d3288f56
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: linux-libre 5.15: Update to 5.15.160.
* gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.160.
(linux-libre-5.15-pristine-source): Update hash.
Change-Id: Ic3eddd036fc083cfb4c9ca0d549757c957bd388a
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: linux-libre 6.1: Update to 6.1.92.
* gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.92.
(linux-libre-6.1-pristine-source): Update hash.
Change-Id: Ica9c1ad4e7505dd19dbf2e0852bad8550acec44d
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: linux-libre 6.6: Update to 6.6.32.
* gnu/packages/linux.scm (linux-libre-6.6-version): Update to 6.6.32.
(linux-libre-6.6-pristine-source, deblob-scripts-6.6): Update hashes.
Change-Id: I518ccfefd49ec31341f2d47e096898292fa7f914
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: linux-libre-6.8: Update to 6.8.11.
* gnu/packages/linux.scm (linux-libre-6.8-version): Update to 6.8.11.
(linux-libre-6.8-pristine-source, deblob-scripts-6.8): Update hashes.
Change-Id: I5eedf40c8f3ad42805d38f6e7b057a6b0171ae33
Signed-off-by: Leo Famulari <leo@famulari.name>
gnu: Add linux-libre 6.9.
Big thanks to Dariqq <dariqq@posteo.net> for debugging and communicating
upstream about a problem with the deblobbing scripts in this kernel
series!
* gnu/packages/linux.scm (linux-libre-6.9-version, linux-libre-6.9-gnu-revision,
deblob-scripts-6.9, linux-libre-6.9-pristine-source, linux-libre-6.9-source,
linux-libre-headers-6.9, linux-libre-6.9): New variables.
* gnu/packages/aux-files/linux-libre/6.9-arm.conf,
gnu/packages/aux-files/linux-libre/6.9-arm64.conf,
gnu/packages/aux-files/linux-libre/6.9-i686.conf,
gnu/packages/aux-files/linux-libre/6.9-x86.conf: New files.
* Makefile.am (AUX_FILES): Add them.
Signed-off-by: Leo Famulari <leo@famulari.name>
Change-Id: I8dc011a603684f0be88766b7881aa6c560b94443