Closed sun363587351 closed 2 months ago
可以在centos上基于docker来编译,可参照手册中的2.4章节。也可以在任意其他版本的linux系统(如ubuntu)中编译,然后手动指定kernel3.10的headers目录。
我直接发你一个吧,应该是能用的,见附件。
非常感谢,我是按照2.4的docker方式编译的,能够编译成功 只是运行后提示错误(83:
你这个命令用的有问题,要这样编译: docker run -it --rm --network=host --privileged -v ( p w d ) : (pwd) -v /lib/modules/:/lib/modules/ -v /usr/src/:/usr/src/ -v /usr/include/:/usr/include imagedong/nettrace-build make -C $(pwd) COMPAT=1 all
3.10的内核版本太低了,要用COMPAT模式来编译。手动指令内核的话,先用-v映射进容器里,然后make -C $(pwd) COMPAT=1 KERNEL=映射进来的目录 all
明白明白了 谢谢你的解答,还有一个问题 对于3.10内核 nettrace使用哪个分支(tag) libbpf版本?
使用的是比较高的版本的。。。libbpf是向下兼容的,所以尽可能使用的高的版本。因为是静态编译的,所以不会影响使用
感谢指导,已经在centos7编译成功并运行,添加映射目标系统内核头文件操作(/usr/src/kernels/3.10.0-1160.119.1.el7.x86_64/)
最低可支持centos7的3.10版本的内核(需要自己编译),需要怎么编译,有没有具体的spec文件,原始的kernel 3.10不支持运行