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: Idfc64f82aa404e86168bffcf721a325f9e807f75master
parent
4114060cd0
commit
b72b6063ce
|
@ -856,6 +856,24 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||||
`(;; Make the kernel config available at /proc/config.gz
|
`(;; Make the kernel config available at /proc/config.gz
|
||||||
("CONFIG_IKCONFIG" . #t)
|
("CONFIG_IKCONFIG" . #t)
|
||||||
("CONFIG_IKCONFIG_PROC" . #t)
|
("CONFIG_IKCONFIG_PROC" . #t)
|
||||||
|
;; Debugging options.
|
||||||
|
("CONFIG_DEBUG_INFO" . #t) ;required by BTF
|
||||||
|
,@(if (version>=? version "5.1")
|
||||||
|
'(("CONFIG_DEBUG_INFO_BTF" . #t))
|
||||||
|
'())
|
||||||
|
,@(if (version>=? version "5.12")
|
||||||
|
'(("CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT" . #t))
|
||||||
|
'())
|
||||||
|
("CONFIG_DEBUG_INFO_REDUCED" . #f) ;incompatible with BTF
|
||||||
|
;; Tracing and related options.
|
||||||
|
,@(if (version>=? version "5.1")
|
||||||
|
'(("CONFIG_BPF_JIT" . #t)
|
||||||
|
("CONFIG_BPF_JIT_ALWAYS_ON" . #t)
|
||||||
|
("CONFIG_BPF_SYSCALL" . #t))
|
||||||
|
'())
|
||||||
|
,@(if (version>=? version "5.13")
|
||||||
|
'(("BPF_UNPRIV_DEFAULT_OFF" . #t))
|
||||||
|
'())
|
||||||
;; Some very mild hardening.
|
;; Some very mild hardening.
|
||||||
("CONFIG_SECURITY_DMESG_RESTRICT" . #t)
|
("CONFIG_SECURITY_DMESG_RESTRICT" . #t)
|
||||||
;; All kernels should have NAMESPACES options enabled
|
;; All kernels should have NAMESPACES options enabled
|
||||||
|
@ -1134,7 +1152,12 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||||
;; These are needed to compile the GCC plugins.
|
;; These are needed to compile the GCC plugins.
|
||||||
gmp
|
gmp
|
||||||
mpfr
|
mpfr
|
||||||
mpc))
|
mpc
|
||||||
|
;; These are needed when building with the CONFIG_DEBUG_INFO_BTF
|
||||||
|
;; support.
|
||||||
|
dwarves ;for pahole
|
||||||
|
python-wrapper
|
||||||
|
zlib))
|
||||||
(home-page "https://www.gnu.org/software/linux-libre/")
|
(home-page "https://www.gnu.org/software/linux-libre/")
|
||||||
(synopsis "100% free redistribution of a cleaned Linux kernel")
|
(synopsis "100% free redistribution of a cleaned Linux kernel")
|
||||||
(description "GNU Linux-Libre is a free (as in freedom) variant of the
|
(description "GNU Linux-Libre is a free (as in freedom) variant of the
|
||||||
|
|
Reference in New Issue