Using SystemTap
SystemTap is a GPLv2 licensed system wide tool that allows you to gather tracing and profiling data from a running Linux system. The user writes a systemtap
script, which is then compiled into a Linux kernel module linked against the same kernel source it is going to run under.
The script sets events and handlers, which are called by the kernel module on the specified events triggering. For this, it uses the kprobes
and uprobes
(if available) interfaces in the kernel, as we saw in the Using dynamic kernel events recipe before.
Getting ready
To use SystemTap, we need to add it to our target image either by adding it specifically, as in:
IMAGE_INSTALL_append = " systemtap"
We can also add it by using the tools-profile
image feature, or an -sdk
image.
We will also need an SSH server running on the target. This is already available on the -sdk
image; otherwise we can add one to our image with the following:
EXTRA_IMAGE_FEATURES += "ssh-server-openssh"
We will also need to compile the...