This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Generating Instrumentation for Other Computers
- From: Arkady <arkady dot miasnikov at gmail dot com>
- To: systemtap at sourceware dot org
- Date: Wed, 1 Mar 2017 13:20:47 +0200
- Subject: Generating Instrumentation for Other Computers
- Authentication-results: sourceware.org; auth=none
Hi,
I am trying to create a build environment for generating the kernel
modules for other computers. My goal is to have a chroot with multiple
kernel-devel/debuginfo packages.
I started by following
https://sourceware.org/systemtap/SystemTap_Beginners_Guide/cross-compiling.html
I downloaded and installed packages for 2.6.32-71.7.1.el6.x86_64 (a
random pick of the kernel) manually using
rpm --force -ivh kernel-debuginfo-2.6.32-71.7.1.el6.x86_64.rpm
kernel-debuginfo-common-x86_64-2.6.32-71.7.1.el6.x86_64.rpm
kernel-devel-2.6.32-71.7.1.el6.x86_64.rpm
After that I tried
stap -r 2.6.32-71.7.1.el6.x86_64 -p4 <script_name>.stp
I am getting
semantic error: missing x86_64 kernel/module debuginfo [man
warning::debuginfo] under
'/home/arkady/debuginfo/usr/src/kernels/2.6.32-71.7.1.el6.x86_64'
I tried to specify --root in the command to rpm and avoid --force this
way. STAP command is
stap -r <root here>/usr/src/kernels/2.6.32-71.7.1.el6.x86_64 -p4
<script_name>.stp
It did not solve the problem. This is how my
usr/src/kernels/2.6.32-71.7.1.el6.x86_64/ looks like
Makefile Module.symvers arch crypto firmware include ipc
lib net scripts sound usr Makefile.common System.map
block drivers fs init kernel mm samples security
tools virt
and /usr/src/kernels/2.6.32-642.el6.x86_64/kernel/
Kconfig.freezer Kconfig.hz Kconfig.preempt Makefile events gcov
irq power time trace
I went on to the file dwflpp.cxx and tried to figure out what is
missing - my theory was that some symlink can solve the problem. From
the source code it appears that dwfl_module_getdwarf() fails to parse
the module (or found it).
What module?
Thank you, Arkady.