Raspbian jessie でperfコマンドをビルドする

Raspbian jessie ではperfコマンドが含まれる linux-tools パッケージが正しくメンテされていないようで、カーネルのバージョンと食い違ったperf_3.16というコマンドがインストールされてしまいます。

pi@raspberrypi:~/work/kernel/linux$ sudo apt-get install linux-tools
 ...
pi@raspberrypi:~/work/kernel/linux$ which perf
/usr/bin/perf
pi@raspberrypi:~/work/kernel/linux$ perf
/usr/bin/perf: line 24: exec: perf_4.1: not found
E: linux-tools-4.1 is not installed.
pi@raspberrypi:~/work/kernel/linux$ sudo apt-get install linux-tools-4.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package linux-tools-4.1
E: Couldn't find any package by regex 'linux-tools-4.1'
pi@raspberrypi:~/work/kernel/linux$ ls /usr/bin/perf*
/usr/bin/perf  /usr/bin/perf_3.16

待っていればそのうち解決されるかもしれませんが、自力でperfコマンドをビルドしました。
以前もやったことありましたし。
perfコマンドをソースからビルドする - 組み込みの人。

まず必要なライブラリを用意します。

$ sudo apt-get install  flex bison python pkg-config libaudit-dev \
binutils-dev  libelf-dev python-dev libpython-dev libperl-dev  \
libslang2-dev libdw-dev libiberty-dev libunwind-dev liblzma-dev

カーネルソースを取ってきます。--depth=1 をつけるとリポジトリ全部でなく最新だけになります。

$ mkdir kernel
$ cd kernel/
$ git clone --depth=1 https://github.com/raspberrypi/linux

ビルド

$ cd linux/
$ cd tools/perf/
$ make 2>&1 |tee make.log

インストール

$ make install

自分のホームディレクトリにインストールされます。一度ログアウトしてから再度ログインすると、~/bin にPATHが追加されます。

perfコマンドの試し打ち。

$ which perf
/home/pi/bin/perf
$ perf stat pwd
/home/pi/work/kernel/linux/tools/perf

 Performance counter stats for 'pwd':

          6.080886      task-clock (msec)         #    0.152 CPUs utilized          
                 6      context-switches          #    0.987 K/sec                  
                 0      cpu-migrations            #    0.000 K/sec                  
                56      page-faults               #    0.009 M/sec                  
         3,603,787      cycles                    #    0.593 GHz                    
         stalled-cycles-frontend  
         stalled-cycles-backend   
           964,216      instructions              #    0.27  insns per cycle        
           107,687      branches                  #   17.709 M/sec                  
            27,999      branch-misses             #   26.00% of all branches        

       0.040087712 seconds time elapsed

追記。
最初はインストールとして/usr/bin/perf_4.1 にコピーするようにかきましたが、make install のほうがよさそうなので修正しました。