PF_RING编译到内核实验

这个链接包括PF_RING所需的文件和资料
原下载地址在
我用文中所说的方法svn co https://svn.ntop.org/svn/ntop/trunk/PF_RING/
结果下载不下来,于是就手动下载下来。
用户使用时,可以先参看一下文档和说明,老外给的都是英文的。可参考kernel/README和UsersGuide.pdf以及内核源码目录下的说明文档。学会看文档是个好习惯。很多东西都没有人给你翻译,所以,只有辛苦点了。
下面是我的实验结果,我的系统是ubuntu的,当然很多编译内核需要的工具我都已经装好了,如果用户不知道先装什么,你可以参考一下这位大侠的
用户需要根据自己的实际情况编译自己的内核,毕竟linux版本很多,我也没有实验过所有的系统。但是编译内核方法其实大致一样的。
然后将这个压缩包解压出来,命令行进PF_RING目录
可先修改mkpatch.sh的内容为你需要的内核名称,我喜欢这么用gedit mkpatch.sh&
VERSION=${VERSION:-2}
PATCHLEVEL=${PATCHLEVEL:-6}
SUBLEVEL=${SUBLEVEL:-25.3}
那么这下载的内核将为2.6.25.3的内核,具体的用户可参见 www.kernel.org所能提供的内核版本。
运行bash mkpatch.sh
正确运行后补丁将自动被打好,生成一个叫workspace的目录,里面有个以-1-686-smp-PF_RING为结尾的目录,这就是打好PF_RING补丁的目录。进入这个目录。
make mrproper
cp /boot/config-`uname -r` ./                
包围uname -r的`在数字键1的左边,不是我们平时用的单引号
然后配置内核,我使用的是
make menuconfig
//配置内核时首先载入刚才拷过来的内核文件,然后保存为.config(这是默认的),我第一次就没有使用现有的内核配置,所以导致了很惨烈的结果,很多驱动程序都没有,有ring.ko这个模块,modprobe ring.ko可以,但是遗憾的是,以太网卡识别不了了,没有网卡要这个PF_RING有个P用。所以前人的经验还是多多参考的好。
  - Enable RTIRQ (if you use it)//这个补丁我没找到,所以选不了
   - Enable 'Code maturity level options'
             -> ' Prompt for development and/or incomplete code/drivers'
这个选项,我在2.6.25.3的默认配置中是没有的,改用2.6.22时是默认选上的。
然后在Networking下
  'Networking options'
           -> 'PF_RING'(选上这个)
           -> 'Socket Filtering'(没有这个,只有一个netfilter的,默认选上的)
对于内核其他的东西,如果你不知道它的意义,那就最好别动。
然后
make
make modules-install
make install
补充一下,ubuntu,不能这样编译,编译出的东西没有initrd,真是太垃圾了,也怪我没有去网上查一下编译内核的方法,下面是ubuntu的编译方法
这是我的结果
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
fakeroot类似于sudo,我喜欢直接用root帐户,这样可以直接不用fakeroot。
完了后,cd ..返回到上级目录,发现有两个.deb的文件,
dpkg -i linux-image-xxx.deb
dpkg -i linux-headers-xxx.deb
xxx随你自己的自己内容而定。
然后将新内核加入到启动项上来,这个可以编辑/boot/grub/menu.lst,将它那个recovery的复制一下,然后再改成新内核的名字。其他系统用其他方式引导的比如lilo的我就不知道了。
另外贴上一个高手的帖子,我在国内就找到这一篇,真是感谢这位大侠。
有关快速编译内核的帖子
google一下
快速 编译Linux 内核所需 模块新方法
不知道原帖出自谁之手了,读者,自己搜,很多,不过都是一样的。
在一点,关于网卡的问题,我编译后内核网卡找不到了,ifconfig,只有lo,找到一帖子正好能解决我问题
我的modinfo pcnet32,是broadcom 440x的网卡,modinfo,很好用,modinfo ring,就可以查看ring的另一个名字,因为insmod直接找不到ring.ko的。
唉,中国的软件真是。。。唉,光是别人几年前的技术我们都要这么大费周折,做实际研究的学者还不够多。
另外一点,中国人搞linux的人是不是很少啊,基本上我碰到的很多问题只有在国外的网站上才能找到答案。唉,希望读者能够向你身边的人宣传下linux,毕竟中国用windows的人太多了。碰到开源的技术也不知道学习,可悲!
<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(1286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值