LinuxSir.cn,穿越时空的Linuxsir!

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

slackware 升级内核到2.6.8.1

[复制链接]
发表于 2004-10-16 09:42:40 | 显示全部楼层 |阅读模式
作者 moslinux@linuxfans.org

slackware 10 默认安装的是 内核是 2.4.26 ,不过它的整个系统已经是 2.6 readly 。前几天为了安装 dropline gnome 2.8 需要升级到 2.6 版本的内核。下面就简单说一个自己升级安装经过。
1、下载
到 slackware 的镜像站点上 下载 current/testing 目录下的2.6内核包。下载地址是http://slackware.at/data/slackwa ... ages/linux-2.6.8.1/ 这个地址下载还是比较快的。

kernel-generic-2.6.8.1-i486-3.tgz
kernel-modules-2.6.8.1-i486-2.tgz
这两个包是安装新版本内核所必须的。
alsa-driver-1.0.6a_2.6.8.1-i486-1.tgz 是针对新内核的声音包,要在新内核下使用声音,安装 dropline gnome ,这个包也是必须的。
kernel-source-2.6.8.1-noarch-1.tgz
这个是新内核的源码包,如果要编译内核、模块等是需要的。一般来说要安装 nvidia 显卡驱动,这个包也必须装。

2、制作 initrd
正如大家在安装时已经看到的我们安装的内核是 kernel-generic是一个非常通用的内核,没有编译进很多新的特性。p.k.说这个内核只支持 IDE 驱动器和 ext2 文件系统。如果你的驱动器是 SCSI 的或者 你的 根文件系统是 ext3 、reiserfs 的,可以想象,你用这个内核是无法引导系统的。
那怎么办呢?这就要制作一个 initrd 。initrd 是英文 "initial ramdisk" 的缩写。它是一个非常小的文件系统,在内核启动时,系统根文件系统装进内核前被装载进内存并安装进内核的。这样就可以把一些需要的功能如 SCSI 驱动模块 ,reiserfs 文件系统模块安装进内核,这样内核就可以启动计算机真正的磁盘根文件系统。说了这么多废话,如果大家还想更详细的了解可以看它的说明:http://slackware.at/data/slackwa ... 6.8.1/README.initrd
言归正传,到底怎么才能制作 initd ,困难么?其实也不难,slackware 已经提供了一个脚本包,mkinitrd-1.0.1-i486-1.tgz ,检查已确保你的系统已经安装了这个包。
然后 cd /boot
   a、使你的系统支持 reiserfs 文件系统
     mkinitrd -c -k 2.6.8.1 -m reiserfs
   b、使系统支持 ext3 文件系统
    mkinitrd -c -k 2.6.8.1 -m jbd:ext3 -f ext3 -r /dev/hdb3
更多的可以参看 man mkinitrd 。
运行这个脚本将在 /boot 下创建一个目录 /boot/inird-tree 和一个文件/boot/inird.gz 。其中 initrd.gz 就是我们需要的 initrd 。

3、编辑 /etc/lilo.conf
添加
# Linux bootable partition config begins
image = /boot/vmlinuz-generic-2.6.8.1
  initrd = /boot/initrd.gz
  root = /dev/hdaX (把 X 替换成你实际的根文件系统所在的分区号)
  label = Linux2681
  read-only
# Linux bootable partition config ends
命令行运行:
lilo

4、重新启动计算机,选择 新的内核。OK ,新的内核已经运行在你的系统上了。
 楼主| 发表于 2004-10-17 10:15:49 | 显示全部楼层
自己顶
发表于 2004-10-17 13:48:59 | 显示全部楼层
不会设置编译,又想用新内核的朋友可以看看。
发表于 2004-10-18 09:40:23 | 显示全部楼层
不错!介绍得很详细!顶一顶!

不过,那还不如自己编译内核好了呢!我喜欢自己编译内核,按需分配。
现在的内核编译起来也很简单的。
发表于 2004-11-5 17:50:49 | 显示全部楼层
这样搞起来的内核oss里没有cs46xx模块,而2.4.26里则有,怎么搞过来阿?
发表于 2004-11-6 10:39:24 | 显示全部楼层
我也顶!
发表于 2004-11-7 21:22:43 | 显示全部楼层
现在那个链接不对了
变成2.6.9了
发表于 2004-11-8 20:22:39 | 显示全部楼层
不成功!我用的是2.6.9的内核包,根分区是reiserfs的,安装好后:
mkinitrd -c -k 2.6.9 -m reiserfs
提示错误:
WARNING:  Could not find module for "reiserfs"
再启动就不行了,用ext2来mount我的根分区,怎么办呢?
发表于 2004-11-8 22:39:42 | 显示全部楼层
最初由 inadavid 发表
不成功!我用的是2.6.9的内核包,根分区是reiserfs的,安装好后:
mkinitrd -c -k 2.6.9 -m reiserfs
提示错误:
WARNING:  Could not find module for "reiserfs"
再启动就不行了,用ext2来mount我的根分区,怎么办呢?


试试把reiserfs的支持编译到内核里去
发表于 2004-11-9 10:04:04 | 显示全部楼层
hoho,我用包安装内核就是怕编译内核麻烦,而且机器也很慢,编译一次好几个小时.
难道官方编译的内核包里面没有reiserfs的支持吗?真是郁闷.
多谢windrose兄的回答啊!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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