Centos7 内核源码编译 网桥 bridge模块

一、安装相应版本的内核源码

1、查看系统版本

2、Centos官网下载对应的源码

#http://vault.centos.org/

#wget http://vault.centos.org/7.8.2003/os/Source/SPackages/kernel-3.10.0-1127.el7.src.rpm

3、用rpm 安装

# rpm -i  kernel-3.10.0-1127.el7.src.rpm

如果提示:

Warning: user mockbuild does not exist. using root

安装 mock,并且新建一个mockbuild用户

# yum install mock

# useradd -s /sbin/nologin mockbuild

然后继续上一步

 # rpm -i  kernel-3.10.0-1127.el7.src.rpm

cd到根目录,会有一个rpmbuild目录

# cd ~/rpmbuild/SPECS 

4、然后 执行 rpmbuild

#rpmbuild -bp --target=$(uname -m) kernel.spec

 如果提示rpmbuild 没有安装

#yum install rpmbuild

然后继续上一步操作

#rpmbuild -bp --target=$(uname -m) kernel.spec

这时如果提示缺少一些依赖包,则yum install安装

然后继续

#rpmbuild -bp --target=$(uname -m) kernel.spec 

最后在 ~/rpmbuild/BUILD目录下就可以找到源码包了

 

二、bridge模块编译

1、.config文件配置

复制现在内核版本对应的.config文件

# cp /usr/src/kernels/3.10.0-1127.el7.x86_64/.config /root/rpmbuild/BUILD/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64/

Load -> Ok-> Save-> Ok-> Exit-> Exit

2、复制 Module.symvers文件,不然编译的时候会提示

# insmod bridge.ko的时候会提示

#insmod: ERROR: could not insert module bridge.ko: Invalid module format

 

复制现有版本的Module.symvers文件 

# cp /usr/src/kernels/3.10.0-1127.el7.x86_64/Module.symvers /root/rpmbuild/BUILD/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64/

 3、然后编译bridge模块

#cd /root/rpmbuild/BUILD/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64/

#make oldconfig && make prepare && make scripts

#cd /root/rpmbuild/BUILD/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64/net/bridge

#make CONFIG_BRIDGE=m -C /root/rpmbuild/BUILD/kernel-3.10.0-1127.el7/linux-3.10.0-1127.el7.x86_64/ M=`pwd` modules

4、最后安装bridge.ko模块

# insmod bridge.ko 

# insmod br_netfilter

///希望能对你有帮助。。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值