Install SystemTap on Suse

The Suse is SLES(Suse Linux Enterprise Server) version.

(1) Install C/C++ Compiler and Tools:

Capture4-667x500

(2) Install SystemTap tools:

# zypper in systemtap*
......

(3) Install kernel debug info packages:

/mnt/suse/x86_64 # ls | grep kernel
kernel-default-base-debuginfo-3.12.49-3.1.x86_64.rpm
kernel-default-debuginfo-3.12.49-3.1.x86_64.rpm
kernel-default-debugsource-3.12.49-3.1.x86_64.rpm
kernel-xen-base-debuginfo-3.12.49-3.1.x86_64.rpm
kernel-xen-debuginfo-3.12.49-3.1.x86_64.rpm
kernel-xen-debugsource-3.12.49-3.1.x86_64.rpm
kernelshark-debuginfo-2.0.4-3.95.x86_64.rpm
nfs-kernel-server-debuginfo-1.3.0-13.1.x86_64.rpm
/mnt/suse/x86_64 # rpm -ivh kernel*
Preparing...                          ################################# [100%]
......

You can also use zypper in kernel-*-debug*.

(4) Test:

/mnt/suse/x86_64 # stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'
Pass 1: parsed user script and 102 library script(s) using 78240virt/28440res/2708shr/26436data kb, in 160usr/20sys/184real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 3 embed(s), 0 global(s) using 175768virt/126996res/3688shr/123964data kb, in 1650usr/250sys/1902real ms.
Pass 3: using cached /root/.systemtap/cache/38/stap_38af4dc0b3509fcb42d451417e95bbab_1375.c
Pass 4: using cached /root/.systemtap/cache/38/stap_38af4dc0b3509fcb42d451417e95bbab_1375.ko
Pass 5: starting run.
read performed
Pass 5: run completed in 20usr/290sys/638real ms.

All is OK!

Install git-email on RHEL 7.0

The RHEL 7.0 ISO doesn’t provide git-email rpm package by default. Because the git rpm provided by ISO file isgit-1.8.3.1-4.el7.x86_64.rpm, you should download the same version here, and install it:

[root@linux ~]# rpm -ivh git-email-1.8.3.1-4.el7.noarch.rpm
warning: git-email-1.8.3.1-4.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
error: Failed dependencies:
        perl(Authen::SASL) is needed by git-email-1.8.3.1-4.el7.noarch
        perl(Net::SMTP::SSL) is needed by git-email-1.8.3.1-4.el7.noarch

From the error message, we know also need to use yum to install perl-Net-SMTP-SSL and perl-Authen-SASL packages:

[root@linux ~]#yum install perl-Net-SMTP-SSL
[root@linux ~]#yum install perl-Authen-SASL

Done!

 

Why does chainloader complain “invalid signature”?

My computer has multiple harddisks and every disk has multiple partitions. I install the SLES (Suse Linux Enterprise Server) on the 5thpartition of the 2nd harddisk, but find it can’t boot:

grub> set root="(hd1,msdos5)"
grub> chainloader +1
error: invalid signature.

After checking installation steps, I find by default, the SLES can’t install bootcode on the partition:

1

Click the install option in the above picture, then it will install the bootcode :

2

then the boot process is OK!

 

Install ktap on RHEL

My RHEL is 7.0, the minimal installation. Build ktap, it outputs the following error:

[root@redhat ktap-master]# make
    CHK libelf
Makefile:108: No libelf found, disables symbol resolving, please install elfutils-libelf-devel/libelf-dev
make -C /lib/modules/3.10.0-123.el7.x86_64/build M=/root/ktap-master modules
make: *** /lib/modules/3.10.0-123.el7.x86_64/build: No such file or directory.  Stop.
make: *** [mod] Error 2

(1)

To fix “No libelf found, disables ...” error, you need to install elfutils-libelf-devel package:

[root@redhat ktap-master]# yum install elfutils-libelf-devel
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package elfutils-libelf-devel.x86_64 0:0.158-3.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved
......

(2)

To fix “*** /lib/modules/3.10.0-123.el7.x86_64/build: No such file or directory.” error, you need to install kernel-devel package:

[root@redhat ktap-master]# yum install kernel-devel
Loaded plugins: product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Resolving Dependencies
--> Running transaction check
---> Package kernel-devel.x86_64 0:3.10.0-123.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

Then make is OK!