乐趣区

关于安全:Centos-418-eBPF编译环境搭建

背景:

本文次要解决 centos7 4.18 内核零碎 eBPF 编译环境搭建

流程:

1. 内核降级

对于如何在 centos7 装置 4.18 内核,这个网上有大把教程,不再赘述

2. 编译套件降级

centos7 默认 clang llvm 版本较低,不辨认 -target=bpf 命令,因而须要对 clang 进行降级

GCC 降级
 编译 llvm,须要 gcc 至多为 5.1 版本,centos 默认装置的是 gcc 4.8.5。yum install centos-release-scl 
yum install devtoolset-7 
以后登陆 session 失效 
scl enable devtoolset-7 
bash source /opt/rh/devtoolset-7/enable
echo "source /opt/rh/devtoolset-7/enable" >> ~/.bash_profile 
source /opt/rh/devtoolset-7/enable
装置 cmake
https://github.com/Kitware/CMake/releases/download/v3.14.0/cmake-3.14.0.tar.gz
tar -zxvf cmake-3.14.0.tar.gz
cd cmake-3.14.0
./bootstrap
make
make install
装置 clang9 这个步骤十分耗时 预计 3 + 小时
git clone https://github.com/llvm/llvm-project.git
cd llvm-project
git checkout origin/release/9.x
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_RTTI=ON -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" ../llvm
make
make install

3.libbpf 库

装置 libelf zlib
yum install -y elfutils-libelf-devel
装置 libbpf

git clone https://github.com/libbpf/libbpf
cd libbpf/src
make
make install

至此,环境搭建实现,欢快的 Coding

本文由博客一文多发平台 OpenWrite 公布!

退出移动版