如何使用linux源码编译bpf

本文详细记录了在Ubuntu20和CentOS8环境下分别编译不同版本的Linux内核bpf的过程。首先,在Ubuntu20中编译了Linux内核5.4版的bpf,接着在CentOS8中编译了4.18版的bpf。每个步骤包括下载内核源码、安装依赖、执行编译命令等关键操作。通过这些步骤,读者可以了解到在不同Linux发行版上编译bpf的方法。
摘要由CSDN通过智能技术生成

前置:

        我并未在/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

结束:

        编译成功.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值