QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7902|回复: 24

升级到内核2.6.7

[复制链接]
发表于 2004-7-8 11:53:48 | 显示全部楼层 |阅读模式
Linux-2.6.7

   我是在第一时间得到2.6.7内核的,由于没空,拖了3个星期才把它处理了。今天写这篇文章是想说说对付这新内核的方法。

   我装的是Redhat Enterprise Linux AS 3,本想用更大众化的Redhat9来编译新内核,可惜我把盘丢了,不过它们两个差得不算很多,所以就将就一下吧。

1 下载内核,去www.kernel.org下就行,挺快的。(我下的是linux-2.6.7.tar.bz2,33MB,patch应该也行)

2 解压缩,命令tar –jxvf linux-2.6.7.tar.bz2(如果你下的是linux-2.6.7.tar.gz就用命令tar –zxvf linux-2.6.7.tar.gz)但最好把解出来的内核放到/usr/src目录中,这是个好习惯。(以下我们假设内核被放在/usr/src/linux-2.6.7中)

3 去看看/usr/src/linux-2.6.7/Documentation/Changes文件,这个文件给你提供一个要安装2.6.7内核所需要的最基本的软件的清单。考虑到有些朋友和英文的感情不深,我最好还是解释一下。首先你需要具备以下的软件环境:

  软件名                  最低版本号     获得该软件当前版本号的命令
o  Gnu C                 2.95.3       # gcc --version
o  Gnu make              3.79.1       # make --version
o  binutils              2.12         # ld -v
o  util-linux            2.10o        # fdformat --version
o  module-init-tools     0.9.10       # depmod -V
o  e2fsprogs             1.29         # tune2fs
o  jfsutils              1.1.3        # fsck.jfs -V
o  reiserfsprogs         3.6.3        # reiserfsck -V 2>&1|grep reiserfsprogs
o  xfsprogs              2.6.0        # xfs_db -V
o  pcmcia-cs             3.1.21       # cardmgr -V
o  quota-tools           3.09         # quota -V
o  PPP                   2.4.0        # pppd --version
o  isdn4k-utils          3.1pre1      # isdnctrl 2>&1|grep version
o  nfs-utils             1.0.5        # showmount --version
o  procps                3.2.0        # ps --version
o  oprofile              0.5.3        # oprofiled –version

我建议你一一核实。即使Redhat的几款新Linux基本具备上述条件(在我这jfsutils的版本是1.1.2,procps版本是2.0.13,reiserfsprogs用所给的方法不能获得版本号,xfsprogs没有被安装)。至于module-init-tools几乎没人具备,所以最好去Changes里给出的网址ftp://ftp.kernel.org/pub/linux/kernel/people/rusty/modules/下载,最新的版本应该是3.1(我用的就是)。这些软件的安装大同小异都是。

       # tar –zxvf XXXX.tar.gz 或 tar –jxvf XXXX.tar.bz2 (取决于是以gz结尾还是以bz2结尾)
       # cd XXXX (进入刚才解压时生成的目录)
       # ./configure
       # make
       # make install

但具体还是要看里面的README没,对于module-init-tools最好走如下操作

       # configure --prefix=/
       # make moveold
       # make all install
       # ./generate-modprobe.conf /etc/modprobe.conf
       (我图快,没用这方法)

PS procps 在Changes里写得的网址上没找到,我在http://distro.ibiblio.org/pub/linux/distributions/sorcerer/sources/procps/下的。版本是3.2.1。

4 配置你的内核,进入/usr/src/linux-2.6.7,键入make menuconfig命令进入配置界面(新的xconfig基于QT库,gconfig还得用高版本的GTK+,都挺麻烦,而且还不稳定,所以还是用menuconfig吧)。

  有为仁兄曾提过几点建议:
o 关于"Loadable Module support"选项, 一定要选上"Module unloading"和"Automatic kernel module  loading"这两个选项.
o 关于"Processor type and features"选项, 一定要选上"Preemptible Kernel"选项, 这是2.6.x内核优于2.4.x内核的重要原因之一.
o 关于"Block Devices"的配置, 一定要选上对loopback和ramdisk的支持.
o 关于"Multi-device support(RAID and LVM)", 要选上"device mapper".
o 关于"Input device support", 记得要选上"Keyboards"和"Mice"的支持.
o 关于"Graphics support", 要选上对frame buffer的支持.
o 关于ALSA, 要选上"OSS API emulation"选项. OSS可以不用了.
o 关于USB, 能选的都选上吧

  我再补充一点:
* 如果你的Linux在ext3格式分区上,最好把ext3编译进内核,否则会在加载ext3模块遇到麻烦。

  还有人说:"intel的主板集成显卡,8139网卡,USB口鼠标最好也直接编译进内核。"(我不具备这些条件)

  最重要的是配置完了别忘了存  

5 编译安装是最花时间的工作

        # make
        # make modules
        # make modules_install
        # make install

  如果没什么错误安装完了可以直接重启。重启完了出的错误大都是模块问题,懒省事的话,就把出错的模块编进内核,因为下一次make会快得多。
   PS 我的AMD Duron 750 用了一顿晚饭的时间才敲定。在这个时间里你可以烧一炷香,顺便祈祷一下。(开个玩笑)

6 有人说需要改grub.conf,2.6.7应该不用改,我没改也能用。

   一切就是这样的,有什么问题以及心得体会还可以和我联系,其实玩内核的乐趣并不局限于内核的升级,更在于对内核内部的配置,但最大的乐趣还是在于内核源代码。内核升级的成功只是一个开始,祝大家在今后的工作中快乐。
发表于 2004-7-11 10:20:20 | 显示全部楼层
为什么我的ML1.2中的/usr/src只有debug和mBuild这两个文件夹,没有linux的快捷键?这是否正常?
回复

使用道具 举报

 楼主| 发表于 2004-7-11 11:36:04 | 显示全部楼层
你可能没装内核源代码,在rh安装时不选上内核开发,基本上就是你那样。
回复

使用道具 举报

发表于 2004-7-14 15:38:59 | 显示全部楼层
我编译配置lilo都做好了,在lilo选项上也能看到。可是一进去刚显示正在加载内核画面就定住了,所以想问问是怎么一回事
回复

使用道具 举报

发表于 2004-7-14 20:40:39 | 显示全部楼层
用RHE3编译2.6.7内核.......强,服就1个字
回复

使用道具 举报

发表于 2004-7-15 06:04:03 | 显示全部楼层
我在编译的时候老是出现过大的现象, 系统要求我改用make bzImage而不是make zImage. 说是有个640K的限制, 但我将基本上能不要或能改成模块的都改了, 还是大于那个限制.
回复

使用道具 举报

发表于 2004-7-19 22:45:46 | 显示全部楼层
问一下"jfsutils"和“xfsprogs”这两 个软件我在编译时出现了需要“UUID.H”这个文件,哪里有呢?
回复

使用道具 举报

发表于 2004-7-19 22:46:09 | 显示全部楼层
问一下"jfsutils"和“xfsprogs”这两 个软件我在编译时出现了需要“UUID.H”这个文件,哪里有呢?
回复

使用道具 举报

发表于 2004-7-20 22:03:32 | 显示全部楼层
[quote:5331e91ec6="CNOOC"]我在编译的时候老是出现过大的现象, 系统要求我改用make bzImage而不是make zImage. 说是有个640K的限制, 但我将基本上能不要或能改成模块的都改了, 还是大于那个限制.[/quote]
make bzImage也会大于640k的,不用理他,只管用就行了。我编译的内核很少小于1M的
回复

使用道具 举报

 楼主| 发表于 2004-7-23 16:26:21 | 显示全部楼层
uuid.h 可以在你内核源代码目录下的include下的一个什么目录里找到(具体我忘了,搜吧)
回复

使用道具 举报

发表于 2004-7-24 17:16:30 | 显示全部楼层
唉,找是找到了,可是不知道放到哪个目录里面啊,请楼主指教啊,如果光这个不装kernel应该没问题吧
回复

使用道具 举报

发表于 2004-7-24 21:41:09 | 显示全部楼层
as3编译make install 后提示/drivers/里的文件CRC错误!!!!
回复

使用道具 举报

发表于 2004-7-24 22:36:19 | 显示全部楼层
as3编译运行make modules 出错
Building modules, stage 2.
  MODPOST
*** Warning: "request_firmware" [drivers/net/tokenring/tms380tr.ko] undefined!
*** Warning: "release_firmware" [drivers/net/tokenring/tms380tr.ko] undefined!
回复

使用道具 举报

 楼主| 发表于 2004-8-3 14:27:33 | 显示全部楼层
唉,找是找到了,可是不知道放到哪个目录里面啊,请楼主指教啊,如果光这个不装kernel应该没问题吧


你可以改一下configure把路径改成那个位置,我想
回复

使用道具 举报

 楼主| 发表于 2004-8-3 14:29:20 | 显示全部楼层
as3编译运行make modules 出错
Building modules, stage 2.
MODPOST
*** Warning: "request_firmware" [drivers/net/tokenring/tms380tr.ko] undefined!
*** Warning: "release_firmware" [drivers/net/tokenring/tms380tr.ko] undefined!


肯能changes里提到的软件你没装全
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-9-14 17:54 , Processed in 0.137369 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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