Jun 2

[原]编译IMQ(中介队列设备)模块 雷阵雨

linuxing , 14:33 , 基础知识 » RPM , 评论(0) , 引用(0) , 阅读(55083) , Via 本站原创 | |

四、总结
1、通过上面的步骤可见,若要成功编译IMQ模块,需要进行三个步骤,缺一不可:
引用
a)为核心打入IMQ补丁,并编译成imq网卡模块;
b)编译核心的netfilter模块,为下面iptables的调用做准备;
c)为iptables打IMQ补丁,生成iptables的IMQ模块。

※编译时,请注意保持kernel源码一致,iptables源码也一致。但netfilter的源码和iptables源码一般没有关联,也不必完全和原系统版本相同的。我这里只是考虑到前后兼容而已。

2、为保持原系统的一致性,我建议您把修改后核心源码的库文件同步到发行版相应目录中。
一般发行版有个开发包文件kernel-devel,可参考上面打imq patch时的提示做同步工作:

# cd /usr/src/linux
# cp .config /usr/src/kernels/2.6.9-42.7AX-i686/
# cp drivers/net/{Kconfig,Makefile} /usr/src/kernels/2.6.9-42.7AX-i686/drivers/net/
# cp -r include/config/imq /usr/src/kernels/2.6.9-42.7AX-i686/include/config/
# cp -r include/config/ip/nf/target/imq /usr/src/kernels/2.6.9-42.7AX-i686/include/config/ip/nf/target/
# cp -r include/config/ip6/nf/target/imq /usr/src/kernels/2.6.9-42.7AX-i686/include/config/ip6/nf/target/
# cp include/linux/{autoconf.h,compile.h,imq.h,skbuff.h} /usr/src/kernels/2.6.9-42.7AX-i686/include/linux/
# cp include/linux/netfilter_ipv4/ipt_IMQ.h /usr/src/kernels/2.6.9-42.7AX-i686/include/linux/netfilter_ipv4/
# cp include/linux/netfilter_ipv6/ip6t_IMQ.h /usr/src/kernels/2.6.9-42.7AX-i686/include/linux/netfilter_ipv6/
# cp net/ipv4/netfilter/{Kconfig,Makefile} /usr/src/kernels/2.6.9-42.7AX-i686/net/ipv4/netfilter/
# cp net/ipv6/netfilter/{Kconfig,Makefile} /usr/src/kernels/2.6.9-42.7AX-i686/net/ipv6/netfilter/
# cp Module.symvers /usr/src/kernels/2.6.9-42.7AX-i686/

目录/usr/src/kernels/2.6.9-42.7AX-i686/请根据您修改的核心版本决定。这是一个可选的步骤,仅为了提高兼容性。

五、附录
参考资料:
How to Install IMQ
终于实现在kernel2.6下为iptables 添加扩展模块
How To Compile A Kernel - The CentOS Way
Linux核心编译与管理
内文分页: [1] [2] [3]
Tags: , , , ,
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]