-
Notifications
You must be signed in to change notification settings - Fork 34
Closed
Description
so I recently ran into this problem while trying to setup ros2_tracing to track system performance. essentially I was unable to sudo apt install lttng-modules-dkms as it said the RT kernel was not officially supported.
I did some digging online and came across this thread that looks to be exactly the same issue.
It goes on to suggest a solution of compiling lttng from source....which ideally i would like to avoid.
As lttng is a pretty universal tracer tool I was wondering if an alternative proposal could happen where we add it to the Dockerfile here so that we can compile it right into the kernel for use later on.
I found this README for lttng-modules that looks like it has instructions to add it directly to a kernel build.
### Kernel built-in support
It is also possible to build these modules as part of a kernel image. Simply
run the [`scripts/built-in.sh`](scripts/built-in.sh) script with the path to
your kernel source directory as an argument. It will symlink the
lttng-modules directory in the kernel sources and add an include in the kernel
Makefile.
Then configure your kernel as usual and enable the `CONFIG_LTTNG` option.
### Required kernel config options
Make sure your target kernel has the following config options enabled:
- `CONFIG_MODULES`: loadable module support (not strictly required
when built into the kernel),
- `CONFIG_KALLSYMS`: see files in [`wrapper`](wrapper); this is
necessary until the few required missing symbols are exported to GPL
modules from mainline,
- `CONFIG_HIGH_RES_TIMERS`: needed for LTTng 2.x clock source,
- `CONFIG_TRACEPOINTS`: kernel tracepoint instrumentation
(enabled as a side-effect of any of the perf/ftrace/blktrace
instrumentation features).
- `CONFIG_KPROBES` (5.7+): use kallsyms for kernel 5.7 and newer.
Metadata
Metadata
Assignees
Labels
No labels