collect sub-command.
Runtime Requirements
To collect events with Retis, the following requirements must be met:Linux Capabilities
The Retis binary needs the following capabilities:
CAP_SYS_ADMINCAP_BPFCAP_SYSLOG
Kernel Configuration
The running kernel must be compiled with the required kernel config options.
Kernel Debug Files
Retis requires access to:
/sys/kernel/btf- For parsing kernel functions and types/proc/kallsyms- For kernel symbol information
Kernel Kconfig Options
In order to collect events, Retis requires the following options to be set in the running kernel:Option Details
| Option | Purpose |
|---|---|
CONFIG_BPF_SYSCALL | Enable BPF syscall for loading eBPF programs |
CONFIG_DEBUG_FS | Provide debugfs filesystem support |
CONFIG_DEBUG_INFO_BTF | Include BTF (BPF Type Format) debug information |
CONFIG_KALLSYMS_ALL | Export all kernel symbols for tracing |
CONFIG_KPROBES | Enable kernel probes for dynamic tracing |
CONFIG_PERF_EVENTS | Required for retrieving stack traces and performance events |
Most modern Linux distributions enable these options by default. You can check your kernel’s configuration in
/boot/config-$(uname -r) or /proc/config.gz.Build Requirements
If you’re building Retis from source, you’ll need additional dependencies. See the From Sources section in the installation guide for details. Key build dependencies include:- rust >= 2021
- clang
- jq
- libelf development files
- libpcap development files
- llvm
- make
- pkg-config
- Python 3 development files (for Python feature support)
Supported Operating Systems
The following operating systems are known to be compatible with Retis. This list is not exhaustive, and Retis should be able to run on other distributions that meet the requirements.| Operating System | Notes |
|---|---|
| Fedora | All officially supported versions including Rawhide |
| RHEL 9 | |
| CentOS Stream 9 | |
| RHEL 8 | >= 8.6 |
| CentOS Stream 8 | >= 8.6 |
| Ubuntu Jammy |
Verification
To verify your system meets the requirements:Troubleshooting
Missing BTF Information
If/sys/kernel/btf/vmlinux is not available, your kernel was not compiled with CONFIG_DEBUG_INFO_BTF. You’ll need to:
- Upgrade to a newer kernel that includes BTF
- Rebuild your kernel with BTF support enabled
Tracefs Not Mounted
If tracefs is not mounted, you can:- Mount it manually:
sudo mount -t tracefs none /sys/kernel/tracing - Use the
--allow-system-changesflag to let Retis mount it automatically
Permission Denied
If you encounter permission errors:- Run Retis with
sudofor full access - Set the required capabilities (see Running as non-root)
- Ensure tracefs is readable by your user (it’s typically root-only)
