mips平台搭建bpftrace环境
一、安装BCC
1.拉取bcc源码
git clone https://github.com/iovisor/bcc.git
2.安装依赖
sudo apt install libncurses-dev bison flex fakeroot openssl libssl-dev binutils-dev libdw-dev python-dev libnewt-dev -y
sudo apt install cmake clang-7 llvm-7-dev llvm-7-runtime libclang-7-dev
3.安装bcc
mkdir bcc/build; cd bcc/build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
二、安装bpftrace
1.拉取bpftrace源码
https://github.com/iovisor/bpftrace.git
2.安装bpftrace
mkdir bpftrace/build; cd bpftrace/build
cmake -DCMAKE_BUILD_TYPE=Release ../
make
sudo make install
三、编译mips内核
因为默认.config中没有开启bpftrace需要的bpf配置项。
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_BPF_EVENTS=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_KPROBES=y
CONFIG_HAVE_KPROBES=y
CONFIG_KPROBE_EVENTS=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_FTRACE=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_FTRACE_MCOUNT_RECORD=y
CONFIG_DEBUG_INFO=y
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_GENERIC_TRACER=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_HWLAT_TRACER=y
CONFIG_TRACER_SNAPSHOT=y
CONFIG_STACK_TRACER=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
开启以上配置,然后编译替换就可以使用了