slackware 升级内核到2.6.8.1

作者 [email protected]

slackware 10 默认安装的是 内核是 2.4.26 ,不过它的整个系统已经是 2.6 readly 。前几天为了安装 dropline gnome 2.8 需要升级到 2.6 版本的内核。下面就简单说一个自己升级安装经过。
1、下载
到 slackware 的镜像站点上 下载 current/testing 目录下的2.6内核包。下载地址是http://slackware.at/data/slackware-c...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/slackware-c.../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 ,新的内核已经运行在你的系统上了。

作者: radish   发布时间: 2004-10-16

自己顶

作者: radish   发布时间: 2004-10-17

不会设置编译,又想用新内核的朋友可以看看。

作者: nbxmedia   发布时间: 2004-10-17

不错!介绍得很详细!顶一顶!

不过,那还不如自己编译内核好了呢!我喜欢自己编译内核,按需分配。
现在的内核编译起来也很简单的。

作者: 独行侠   发布时间: 2004-10-18

这样搞起来的内核oss里没有cs46xx模块,而2.4.26里则有,怎么搞过来阿?

作者: ys_freedom   发布时间: 2004-11-05

我也顶!

作者: hanzixing   发布时间: 2004-11-06

现在那个链接不对了
变成2.6.9了

作者: athlon_r   发布时间: 2004-11-08

不成功!我用的是2.6.9的内核包,根分区是reiserfs的,安装好后:
mkinitrd -c -k 2.6.9 -m reiserfs
提示错误:
WARNING: Could not find module for "reiserfs"
再启动就不行了,用ext2来mount我的根分区,怎么办呢?

作者: inadavid   发布时间: 2004-11-09

引用:
最初由 inadavid 发表
不成功!我用的是2.6.9的内核包,根分区是reiserfs的,安装好后:
mkinitrd -c -k 2.6.9 -m reiserfs
提示错误:
WARNING: Could not find module for "reiserfs"
再启动就不行了,用ext2来mount我的根分区,怎么办呢?
试试把reiserfs的支持编译到内核里去

作者: windrose   发布时间: 2004-11-09

hoho,我用包安装内核就是怕编译内核麻烦,而且机器也很慢,编译一次好几个小时.
难道官方编译的内核包里面没有reiserfs的支持吗?真是郁闷.
多谢windrose兄的回答啊!

作者: inadavid   发布时间: 2004-11-09

slackware官方有2.6.9的内核包了?

作者: windrose   发布时间: 2004-11-09

我在镜像上下到了阿,大家没有找到吗?

作者: inadavid   发布时间: 2004-11-09

引用:
作者: radish
作者 [email protected]

slackware 10 默认安装的是 内核是 2.4.26 ,不过它的整个系统已经是 2.6 readly 。前几天为了安装 dropline gnome 2.8 需要升级到 2.6 版本的内核。下面就简单说一个自己升级安装经过。
......
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 。
.....
4、重新启动计算机,选择 新的内核。OK ,新的内核已经运行在你的系统上了。
请看下面代码(来自slackware11包中extra/README.initrd):
代码:
Now you'll want to run "mkinitrd". I'm using reiserfs for my root
filesystem, and since it's an IDE system the reiserfs module will be
the only one I need to load:

 mkinitrd -c -k 2.6.17.13 -m reiserfs

Here's another example: Build an initrd image using Linux 2.6.17.13
kernel modules for a system with an ext3 root partition on /dev/hdb3.
Note that you need both the jbd and ext3 modules to use ext3:

 mkinitrd -c -k 2.6.17.13 -m jbd:ext3 -f ext3 -r /dev/hdb3
命令 #mkinitrd -c -k 2.6.17.13 -m reiserfs
应是当/root分区为reiserfs的IDE时使用吧?
#mkinitrd -c -k 2.6.17.13 -m jbd:ext3 -f ext3 -r /dev/hdb3
应是当/root为ext3且在/dev/hdb3分区时使用吧?
望指点一二.

作者: dgkgnrt   发布时间: 2006-11-27

还是喜欢自己编译~~,呵呵!!这是最适合自己机器的方法!

作者: zhihaochen44   发布时间: 2006-11-27

呵呵,兄弟真是热心人!赞一个~~
ps:dropline gnome 在国内有地方下载吗?楼主能不能上传到一个ftp上供兄弟们下载?
eelinux.3322.org 支持匿名上传~~~

作者: dogking   发布时间: 2006-11-27

帮忙顶下~~哈哈

作者: billpeng   发布时间: 2006-11-27