这个链接包括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}
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'
- 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'(选上这个)
-> '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的人太多了。碰到开源的技术也不知道学习,可悲!
相关热门文章
给主人留下些什么吧!~~
评论热议