sudo depmod -a kernel_version
+### 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
+ - `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)
+ instrumentation features).
+ - `CONFIG_KPROBES` (5.7+): use kallsyms for kernel 5.7 and newer.
### Supported (optional) kernel config options
number and name
-Using
+Usage
-----
Use [LTTng-tools](https://lttng.org/download) to control the tracer.