LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1733|回复: 21

偶想编译kernel 2.6.16.20,安装nvidia显卡

[复制链接]
发表于 2006-6-14 20:03:49 | 显示全部楼层 |阅读模式
1)编译内核必须的一些工具:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
2)进入内核应存放的目录:
cd /usr/src
3)从官方网站获取最新的内核
wget http://www.kernel.org/pub/linux/ ... x-2.6.16.20.tar.bz2
(finger@kernel.org查到最新稳定版的版本号)
4)移动内核到/usr/src,建立快捷方式
tar jxvf linux-2.6.16.20.tar.bz2
ln -s linux-2.6.16.20 linux
5)将当前系统使用的内核配置文件复制到新的内核目录下面,
cp /boot/config-2.6.8.2 /usr/src/linux/.config
6)配置内核
a]移动键盘,选中 Load an Alternate Configuration File 项,把.config 调进来,让其默认按此配置加载内核选项,减少编译难度;
b]针对自己机器进行修改;我是新手,只是稍微改了几个地方。大家可以去基础区,找相关帖子参考.
c]保存退出
7)开始编译
在这里参看了一下debian官方文挡
[
cd kernel-source-2.4.18                # 如果这是你的内核源码
cp /boot/config-2.4.18 .config     # 将当前配置设定为默认配置
make menuconfig                        # 按自己的喜好来定制
make-kpkg clean                        # 必须执行这步(per: man make-kpkg)
fakeroot make-kpkg --append_to_version -486 --initrd \--revision=rev.01 kernel_image \         modules_image # modules_image 可以是 pcmcia-cs* 等。
     $ cd ..
     # dpkg -i kernel-image*.deb pcmcia-cs*.deb # 安装

]
我的做法
make-kpkg clean
fakeroot make-kpkg --revision=custom.1.0 kernel_image
编译的过程有点漫长,(可能是我的机器比较破,花了50多分钟)结束后,应该在/usr/src下形成个deb包:kernel-image-*.deb

8)下面,安装新的内核:

dpkg -i kernel-image-*.deb

9)制作内存镜像
cd /boot
mkinitrd -o /boot/initrd.img-2.6.16.20 2.6.16.20

10)修改grub
vi /boot/grub/menu.lst,
menu.lst里的信息:
title Debian GNU/Linux, kernel 2.6.12-1-386
root (hd0,0)
kernel /vmlinuz-2.6.12-1-386 root=/dev/hda2 ro
initrd /initrd.img-2.6.12-1-386
savedefault
boot
对照,并填加新内核引导信息
title Debian GNU/Linux, kernel 2.6.16.20
root (hd0,0)
kernel /vmlinuz-2.6.16.20 root=/dev/hda2 ro
initrd /initrd.img-2.6.16.20
savedefault
boot

至此,内核升级完成,启动一次成功!





小弟还有个问题
apt-get install libglade2-dev libgtk2.0-dev gcc-3.4
使用#make gconfig
出现下面情况

HOSTCC scripts/basic/fixdep
HOSTCC scripts/basic/split-include
HOSTCC scripts/basic/docproc
SHIPPED scripts/kconfig/zconf.tab.h
HOSTCC scripts/kconfig/conf.o
sed < scripts/kconfig/lkc_proto.h > scripts/kconfig/lkc_defs.h 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
HOSTCC scripts/kconfig/gconf.o
In file included from /usr/include/gtk-2.0/gtk/gtk.h:90,
from scripts/kconfig/gconf.c:17:
/usr/include/gtk-2.0/gtk/gtkitemfactory.h:51: warning: function declaration isn't a prototype
scripts/kconfig/images.c:6: warning: `xpm_load' defined but not used
scripts/kconfig/images.c:36: warning: `xpm_save' defined but not used
scripts/kconfig/images.c:66: warning: `xpm_back' defined but not used
scripts/kconfig/images.c:175: warning: `xpm_symbol_no' defined but not used
scripts/kconfig/images.c:192: warning: `xpm_symbol_mod' defined but not used
scripts/kconfig/images.c:209: warning: `xpm_symbol_yes' defined but not used
scripts/kconfig/images.c:226: warning: `xpm_choice_no' defined but not used
scripts/kconfig/images.c:243: warning: `xpm_choice_yes' defined but not used
scripts/kconfig/images.c:277: warning: `xpm_menu_inv' defined but not used
scripts/kconfig/images.c:294: warning: `xpm_menuback' defined but not used
scripts/kconfig/gconf.c:975: warning: `renderer_toggled' defined but not used
HOSTCC scripts/kconfig/kconfig_load.o
HOSTCC scripts/kconfig/mconf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
HOSTCC -fPIC scripts/kconfig/zconf.tab.o
HOSTLLD -shared scripts/kconfig/libkconfig.so
HOSTLD scripts/kconfig/gconf
scripts/kconfig/gconf arch/i386/Kconfig

(gconf:2369): Gtk-WARNING **: cannot open display:
make[1]: *** [gconfig] Error 1
make: *** [gconfig] Error 2

我想知道该怎么处理这个错误?
Any help.Thanks!!
发表于 2006-6-15 01:10:36 | 显示全部楼层
用普通用户试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 02:59:10 | 显示全部楼层

something I wan‘t to know

Post by x11
用普通用户试试



Thanks very much!
I will try to do it.
其实我想编译一个新内核主要有两个原因
1.让它更好的支持我的cpu
2.让显卡在新条件下更好的工作(现在已经使用了个nvidia的驱动,但不清楚升级内核后,还需不需重新安装驱动)
回复 支持 反对

使用道具 举报

发表于 2006-6-15 06:23:06 | 显示全部楼层
升级内核后,[color="Red"]需要重新安装驱动,而且编译驱动的 gcc 版本必需跟编译内核的 gcc 版本相同
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 14:04:58 | 显示全部楼层

小弟还有一问

非常感谢x11和d00m3d。

我还有一个问题,在论坛精华区看到些编译内核和nvidia显驱的安装,其中有这样两个不同的帖子
a.
"nvidia驱动解压完成以后,所不同的是,这次编译内核,nvidia的驱动将一同被编译进来:)
cd linux
make menuconfig
此外,无论是Falko Timme还是Adrew E. Schulman的文章中都提到一些已知的冲突,简单翻译过来是以下几点:

如果要使用U盘,配置内核时候要取消对“Block Devices -> Low Performance USB Block driver (BLK_DEV_UB)”项的选择。

如果使用nvidia的显卡,以下三项同样不可以选择:

Graphics Support -> nVidia Riva support (FB_RIVA)
Kernel Hacking -> Use 4Kb for kernel stacks instead of 8Kb (4KSTACKS)
Processor Type and Features -> Local APIC support on uniprocessors (X86_UP_APIC)

其中第三项如果你打开了SMP,这项将不可用。

基本上我按这些原则选择了内核文件以后,就搞定了,保存,退出!"

b.
在使用/boot/*.config的基础上,改良一些cpu设置。直接编译内核,以后再使用module加载显卡

我的问题是:我将尝试一下方案b,就是不知道它一般会不会产生方案a中所说的冲突!?
谢谢。
回复 支持 反对

使用道具 举报

发表于 2006-6-15 19:25:46 | 显示全部楼层
你不是还在用 nVidia Riva 这麽经典吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 22:51:23 | 显示全部楼层

5555

Post by d00m3d
你不是还在用 nVidia Riva 这麽经典吧?

呵呵,咱穷啊.从02新年买电脑到现在只是给它加了根内存条.
下面附上我的硬件配置,敬请指点.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-15 22:57:51 | 显示全部楼层
还有希望吗?最好该怎么整,花钱买硬件除外
期待
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-16 21:18:32 | 显示全部楼层

kernel panic -not syncing VFS Unable to mount root fs on unknown-block(3,2)

使用通用方法编译新内核
make
make modules_install
make install

但是新内核,启动后出现下面问题
menu.lst里的信息:
title Debian GNU/Linux, kernel 2.6.12-1-386
root (hd0,0)
kernel /vmlinuz-2.6.12-1-386 root=/dev/hda2 ro
initrd /initrd.img-2.6.12-1-386
savedefault
boot  

title Debian GNU/Linux, kernel 2.6.16.20
root (hd0,0)
kernel /vmlinuz-2.6.16.20 root=/dev/hda2 ro
initrd /initrd.img-2.6.16.20
savedefault
boot  


kernel panic -not syncing VFS Unable to mount root fs on unknown-block(3,2)

搜了一些相关的贴子,大多是说上面的根分区没设对,可我看我的好像没错呀,使我的内核编的有问题吗?
附上分区内容:
/dev/hda0   Linux (/boot)
/dev/hda1   swap
/dev/hda2   Linux (  /  )
/dev/hda3   Linux (/home)
/dev/hda4   fat32 (给linux做备份用的,无win系统)  
:ask不懂.
建议版主像Linux 发行版Redhat/Fedora专题 一样增开个 "debian重新编辑内核心得"
方便新手提问,大家一起探讨debian下的内核编译,这样就更好了.
回复 支持 反对

使用道具 举报

发表于 2006-6-17 00:23:07 | 显示全部楼层
加装 yaird,然後重新再做 initrd
建议版主像Linux 发行版Redhat/Fedora专题 一样增开个 "debian重新编辑内核心得"
方便新手提问,大家一起探讨debian下的内核编译,这样就更好了.
其实我曾经想(说)过写篇编译新内核(2.6.14以後)的 FAQ,可是工作太忙一直没有动笔,罪过。。。:beat
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表