8.04中drcom-1.3.7无法编译的解决方法

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

8.04中drcom-1.3.7无法编译的解决方法

#1

帖子 syrano » 2008-03-29 23:29

#先下载7.10的内核及其头文件然后安装

代码: 全选

mkdir 8.04 &&
cd 8.04
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-image-2.6.22-14-generic_2.6.22-14.52_i386.deb
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-headers-2.6.22-14_2.6.22-14.52_all.deb
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-headers-2.6.22-14-generic_2.6.22-14.52_i386.deb
sudo dpkg -i *
然后重启进入2.6.22内核
编译安装配置 drcom-1.3.7
上网,然后开始编译新的2.6.24内核

一、下载源代码和编译软件的准备
下载内核源代码:http://www.kernel.org/
注意,点击2.6.24.3内核的F版,即完整版。
如果你懒得去网站点联接,运行下列命令:

代码: 全选

cd ~ 
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.3.tar.bz2
安装有关编译程序。安装make ,gcc, make-kpkg等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list 文件。
有关命令:

代码: 全选

sudo apt-get install build-essential kernel-package libncurses5-dev 

二、修改sh连接

ubuntu7.10的sh是dash的软连接,ubuntu官方认为dash速度快,所以用dash替换较慢的bash。
但是很多用户不同意这个看法,主要是因为dash对原bash下编下的shell程序兼容性不好,很多论坛上甚至是一片讨伐声。
编译内核时改回bash
有关命令:

代码: 全选

sudo dpkg-reconfigure dash#在弹出的界面种选择NO
三、解压源代码
注意,很多教程上说应该解压到 /usr/src,但是linux掌门人linus说解压到任何目录上都可以。
根据我的实验,linus的说法是正确的。我放在自己的主目录下的linus目录。

代码: 全选

tar jfx linux-2.6.24.3.tar.bz2 -C ~/linus
你要把'~/linus'改成你自己解压linux-2.6.24.3.tar.bz2的目录,
注意目录容量要到达1.5G

现在,源代码就在 ~/linus/linux-2.6.24.3/
进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。

代码: 全选

 cd ~/linus/linux-2.6.24.3/
四、开始编译前的准备工作。
首先,清理以前编译时留下的临时文件,如果是刚刚解开的包,据我的实践,不需要执行这步。执行与否,自己考虑。
相关命令如下:

代码: 全选

make mrproper

cp /boot/config-`uname -r` ./.config 
然后
在内核的security/security.c文件的最后加上EXPORT_SYMBOL(security_ops);
六、开始编译内核。
ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。
相关命令:

代码: 全选

sudo make-kpkg clean #这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。
 sudo make-kpkg -initrd --initrd --append-to-version=david4 kernel_image
上述命令中的david4大家用自己喜欢的字符代替,最后的字符一定是数字.
输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。我的p4 1.7G机器用了一个半小时, 家里的amd3000+ 1.67G用了40分钟

七、安装内核
编译完成就是安装工作。编译好的内核在上一层目录。我的是linux-image-2.6.24.3david4_2.6.24.3david4-10.00.Custom_i386.deb
相关命令:

代码: 全选

cd..
sudo dpkg -i linux-image-2.6.20.4m300_2.6.20.4m300-10.00.Custom_i386.deb
文件名很长,如果不用tab自动补足是不可能的,tab键万岁。
安装完成后和老内核比较一下大小

代码: 全选

 ls -l /boot/ 
注意:安装完后先不要动linux-2.6.24.3目录,可能还要安装驱动
八、重新启动验证新内核。
sudo reboot

附,重启后N卡驱动安装
重启后不能直接引入X11,先编译nvidia驱动官方(先删除旧的驱动)

代码: 全选

sudo sh NV******.run
如果说找不到内核源码用

代码: 全选

sudo sh NV******.run --kernel-source-path=你编译内核的目录,
如
sudo sh NV******.run --kernel-source-path=/home/david/linus/linux-2.6.24.3
具体安装方法见http://wiki.ubuntu.org.cn/Nvidia%E6%89%8B%E5%86%8C(看了wiki还解决不了N卡驱动楼下提问)

ATI用户谨慎重试,因为ati显卡驱动不支持非官方内核(有些官方内核都不行如RT内核),编译内核后进不了X11后果自负
inter显卡貌似不需要安装驱动,不过没用过,有谁知道编译内核后inter要不要编译驱动楼下补充
重启进入新的2.6.24内核后
编辑 drcom-1.3.7/kmod/proto.c
在#include <linux/security.h>后面加上一句:
extern struct security_operations *security_ops;
然后编译就可以了。

希望版主置顶免得需要的人找不到
上次由 syrano 在 2008-03-30 14:17,总共编辑 3 次。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#2

帖子 syrano » 2008-03-29 23:35

上面大段可以浓缩为三句话
1) 在内核的security/security.c文件的最后加上EXPORT_SYMBOL(security_ops);
2) 重新编译一下内核。
3) drcom-1.3.7/kmod/proto.c在#include <linux/security.h>后面加上一句:
extern struct security_operations *security_ops;

参考我发的
viewtopic.php?p=664133#664133
viewtopic.php?t=106356&highlight=
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#3

帖子 syrano » 2008-03-30 0:02

预留
头像
reshine
帖子: 91
注册时间: 2006-04-29 1:43
联系:

#4

帖子 reshine » 2008-04-13 11:43

viewtopic.php?t=115048&highlight=
新版本的drcom已经发布,解决了新内核不能编译的问题了。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#5

帖子 syrano » 2008-04-13 12:28

reshine 写了:viewtopic.php?t=115048&highlight=
新版本的drcom已经发布,解决了新内核不能编译的问题了。
谢谢ls,本帖可以归档了.
头像
SecretZero
帖子: 1670
注册时间: 2007-08-30 5:39

#6

帖子 SecretZero » 2008-04-25 17:10

既然无法上网,怎么

代码: 全选

wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-image-2.6.22-14-generic_2.6.22-14.52_i386.deb
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-headers-2.6.22-14_2.6.22-14.52_all.deb
wget http://security.ubuntu.com/ubuntu/pool/main/l/linux-source-2.6.22/linux-headers-2.6.22-14-generic_2.6.22-14.52_i386.deb 
~?
深度,值得深入!
http://bbs.deepin.org/?u=348684

最新的综艺魔法相册
http://www.77studio.net/?fromuid=344
回复