前置:
我并未在/usr/src/下编译bpf, 而是在/home/user下编译的, 所以下载的linux内核源码是放在/home/user/下的.
我编译了两套bpf, 分别是ubuntu20下编译了linux-5.4的bpf, centos8编译了linux-4.18的bpf. 详细过程请看下面.
第一部分, ubuntu20环境下编译:
ubuntu20的linux内核版本为: 5.11.0-27-generic
下载的linux内核版本为: linux-5.4
1, 下载linux-5.4内核源码, github地址如下:
https://github.com/torvalds/linux/tree/v5.4
2, 安装必要的依赖:
apt install flex bison libssl-dev libelf-dev clang llvm
3, 编译, 以/home/user/linux-5.4为例:
cd /home/user/linux-5.4
make headers_install
make defconfig && make prepare
make M=samples/bpf
第二部分, centos8环境下编译:
centos8的linux内核版本为: 4.18.0-305.3.1.el8.x86_64
下载的linux内核版本为: linux-4.18
1, 下载linux-4.18内核源码, github地址如下:
https://github.com/torvalds/linux/tree/v4.18
2, 安装必要的依赖:
yum install flex bison elfutils-libelf-devel openssl-devel clang llvm
3, 编译, 以/home/user/linux-4.18为例:
cd /home/user/linux-4.18
make headers_install
make defconfig && make prepare
# make scripts (如果执行下一步报错, 请执行该命令)
make M=samples/bpf
结束:
编译成功.
本文详细记录了在Ubuntu20和CentOS8环境下分别编译不同版本的Linux内核bpf的过程。首先,在Ubuntu20中编译了Linux内核5.4版的bpf,接着在CentOS8中编译了4.18版的bpf。每个步骤包括下载内核源码、安装依赖、执行编译命令等关键操作。通过这些步骤,读者可以了解到在不同Linux发行版上编译bpf的方法。
1574

被折叠的 条评论
为什么被折叠?



