首先我需要说明一下:
drcom-1.4.4 (for kernel >=2.6.24) 2008-04-12 04:26
drcom-1.3.7.tar 2007-09-07 23:15
明白吧,我想你在下载drcom也应该有留意这个吧!
[jack@localacer drcom-1.3.7]$ make
make -c drcomc
make[1]: entering directory `/home/jack/drcom-1.3.7/drcomc'
make[1]: nothing to be done for `all'.
make[1]: leaving directory `/home/jack/drcom-1.3.7/drcomc'
make -c drcomd
make[1]: entering directory `/home/jack/drcom-1.3.7/drcomd'
make[1]: nothing to be done for `all'.
make[1]: leaving directory `/home/jack/drcom-1.3.7/drcomd'
make -c kmod
make[1]: entering directory `/home/jack/drcom-1.3.7/kmod'
make -c /lib/modules/2.6.23.1-42.fc8/build m=/home/jack/drcom-1.3.7/kmod modules
make[2]: entering directory `/usr/src/kernels/2.6.23.1-42.fc8-i686'
rm: 无法删除 “/home/jack/drcom-1.3.7/kmod/.tmp_versions/drcom.mod”: 权限不够
make[2]: *** [crmodverdir] 错误 1
make[2]: leaving directory `/usr/src/kernels/2.6.23.1-42.fc8-i686'
make[1]: *** [default] 错误 2
make[1]: leaving directory `/home/jack/drcom-1.3.7/kmod'
make: *** [kmod] 错误 2
[jack@localacer drcom-1.3.7]$
[jack@localacer drcom-1.3.7]$ su
口令:
[root@localacer drcom-1.3.7]# make install
make -c drcomc install
make[1]: entering directory `/home/jack/drcom-1.3.7/drcomc'
mkdir -p /usr/local/bin/
install -m 755 drcomc /usr/local/bin/
make[1]: leaving directory `/home/jack/drcom-1.3.7/drcomc'
make -c drcomd install
make[1]: entering directory `/home/jack/drcom-1.3.7/drcomd'
mkdir -p /usr/local/bin/
install -m 700 drcomd /usr/local/bin/
make[1]: leaving directory `/home/jack/drcom-1.3.7/drcomd'
make -c kmod install
make[1]: entering directory `/home/jack/drcom-1.3.7/kmod'
make -c /lib/modules/2.6.23.1-42.fc8/build m=/home/jack/drcom-1.3.7/kmod modules
make[2]: entering directory `/usr/src/kernels/2.6.23.1-42.fc8-i686'
building modules, stage 2.
modpost 1 modules
make[2]: leaving directory `/usr/src/kernels/2.6.23.1-42.fc8-i686'
make -c /lib/modules/2.6.23.1-42.fc8/build m=/home/jack/drcom-1.3.7/kmod modules_install
make[2]: entering directory `/usr/src/kernels/2.6.23.1-42.fc8-i686'
install /home/jack/drcom-1.3.7/kmod/drcom.ko
depmod 2.6.23.1-42.fc8
make[2]: leaving directory `/usr/src/kernels/2.6.23.1-42.fc8-i686'
/sbin/depmod -a 2.6.23.1-42.fc8
make[1]: leaving directory `/home/jack/drcom-1.3.7/kmod'
====================================
/etc/drcom.conf exists.
you may need to edit /etc/drcom.conf
====================================
这是我的安装过程,相信你没有疑义,相信你也找了不少资料吧!!!
请注意以下的资料:
linux下的drcom是在2.6的内核中开发的,用到了中的security_ops。
但是这个export_symbol 在2.6.24的内核中被取消了,导致drcom-1.3.7不能编译。
/home/zrx/drcom-1.3.7/kmod/proto.c: in function ‘init_hijack’:
/home/zrx/drcom-1.3.7/kmod/proto.c:450: error: ‘security_ops’ undeclared (first use in this function)
/home/zrx/drcom-1.3.7/kmod/proto.c:450: error: (each undeclared identifier is reported only once
/home/zrx/drcom-1.3.7/kmod/proto.c:450: error: for each function it appears in.)
/home/zrx/drcom-1.3.7/kmod/proto.c: in function ‘cleanup_hijack’:
/home/zrx/drcom-1.3.7/kmod/proto.c:461: error: ‘security_ops’ undeclared (first use in this function)
make[3]: *** [/home/david/drcom-1.3.7/kmod/proto.o] error 1
make[2]: *** [_module_/home/david/drcom-1.3.7/kmod] error 2
make[1]: *** [default] error 2
make: *** [kmod] error 2
随之而来的问题就是新内核在需要drcom的网络环境中不能上网了。就这个问题我请教了开源版本drcom开发者之一的wheelz。目前最简单的办法只能修改内核,重新编译。
针对2.6.24的内核,具体办法如下:
1) 在内核的security/security.c文件的最后加上export_symbol(security_ops);
2) 重新编译一下内核。
3) drcom-1.3.7/kmod/proto.c在#include 后面加上一句:
extern struct security_operations *security_ops;
4)编译安装drcom。
需要说明的是我下载kernel-2.6.24.4的内核不知道出什么问题,做为引导启动时出错了!!!!
我的内核信息
[root@localacer ~]# uname -a
linux localacer 2.6.23.1-42.fc8 #1 smp tue oct 30 13:55:12 edt 2007 i686 i686 i386 gnu/linux
编译内核是截图,发不上来~~~~~~
说明:我的网络环境上校园网,做为我linux上网的方案有三套:
1.wine运行windows下的drcom客户端
2.虚拟机
3.linux下安装drcom-1.4.4
drcom-1.4.4是基于linux localacer 2.6.23.1-42.fc8 #1 smp tue oct 30 13:55:12 edt 2007 i686 i686 i386 gnu/linux下装的,我失败了!!!
wine运行windows下的drcom客户端已经弹出"驱动已经安装,需要重新启动计算机"的对话框,不管点哪个,死活就是没反应!!!
对于我最成功的就是虚拟机方案了!!!!
你要比我幸运的多哦!!!!
希望我能给你一些帮助!!!!!^_^
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
写完才发现我写的kernel好象不符合你的要求,但是还是希望能够帮助你!!!^_^
郁闷~~~~怎么搞的有位老兄怎么搞的?
直接复制我的回答~~~~
编译内核的接图在我这里,要是感性趣留个联系幽香~~~
顺便补充一下,linux上网,方式1,3都是在真实的linux下,只有虚拟机方式才是在xp下面的~~~~
还有:
我所关注的linux与windows互交问题还有:
linux程序在windows下的执行问题;
windows程序在linux下的执行问题;
linux与windows交换区共享问题;
linux与windows与分区相互访问问题.
有兴趣可以在网上找下~~~~~~
###########################################
顺便发表一下自己的情绪:
鄙视剽窃者,就像做为linux爱好者鄙视微软一样~~
(以上纯属个人情绪抒发~~~~)