当前位置:操作系统 > Unix/Linux >>

在线为Debian升级内核-》由2.2-20到2.4.20

昨天,为Debian在线升级了内核,虽然对老鸟来说是小菜,但对于新手,可能还有点用吧。主要就是apt-get install这个来升级。

  一。在/etc/apt/sources.list加入下面的。

  #debian woody

  deb ftp://ftp.jp.debian.org/debian unstable main contrib

  二。运行一系列的命令。

  #apt-get update

  # apt-get install kernel-image

  会出来一系列的提示,让我们来选择要升级哪个版一的。用下面的命令来看一下,现在系统的版本是什么的?注意看我标颜色的地方。这就证明是此机是686的CPU

  #uname -a

  Linux linuxsir03 2.2.20-idepci #1 Mon Jan 13 22:22:30 EST 2003 i686 unknown unknown GNU/Linux

  那们们运行了#apt-get install kernel-image以后,我们应该怎么选择内核呢??

  # apt-get install kernel-image

  Reading Package Lists... Done

  Building Dependency Tree... Done

  Package kernel-image is a virtual package provided by:

  kernel-image-2.4.20-k7-smp 2.4.20-5

  kernel-image-2.4.20-k7 2.4.20-5

  kernel-image-2.4.20-k6 2.4.20-5

  kernel-image-2.4.20-686-smp 2.4.20-5

  kernel-image-2.4.20-686 2.4.20-5

  kernel-image-2.4.20-586tsc 2.4.20-5

  kernel-image-2.4.20-386 2.4.20-5

  kernel-image-2.4.18-bf2.4 2.4.18-6

  kernel-image-2.2.22-idepci 2.2.22-1

  kernel-image-2.2.22-compact 2.2.22-1

  kernel-image-2.2.22 2.2.22-1

  kernel-image-2.2.20-udma100-ext3 2.2.20-7

  kernel-image-2.2.20-reiserfs 2.2.20-4

  You should explicitly select one to install.

  E: Package kernel-image has no installation candidate

  我们想升级到2.4.20版本的,我用的是INTEL的C-333的CPU的机器,所以我选686的。情况就由您所用的CPU来决定 。也就是看uname -a。

  于是用下面的命令:

  # apt-get install kernel-image-2.4.20-686

  这样升级完成后,系统就自动更新内核了。这仅是第一步,也是最简的。哈。。其实下面的几步也是一样的简单。。

  在升级的过程中,有一些提示,我们要仔细的看。除了LILO的那个,其它的都是YES吧。到LILO这个地方,可能系统问:是否用老原来的LILO配制文件来引导?如果选[是],可能麻烦就来了。这要仔细应对。如果您对LILO引导,可能不会有什么问题,只是改一下/etc/lilo.conf就行了。这个过程省略,因为我不用LILO。我主要谈一下GRUB。

  如果用GRUB来引导,可能在更新内核的时候一不小心就会把GRUB从MBR中赶出来。对于GRUB。可能做完了上一步,我们还得得新安装GRUB。方法就在这里。。

  http://www.linuxsir.com/bbs/showthr...&threadid=16614

  这个过程也省了。仔细的看一下不会太难。

  上面改/etc/grub.conf中,可能更新了内核会出现如下的错误信息。

  VFS Unable to mount root fs on 03:01

  为了避免上面情况的发生。我们就一步到位把/etc/grub.conf文件更改一下。

  /etc/grub.conf中启动Debian的那段中,加入

  initrd=/boot/initrd.img-2.4.20-686

  看一下完整 的启动Debian新内核的一段

  title Debian 3.0 Woody

  root (hd0,0)

  kernel /boot/ vmlinuz-2.4.20-686 root=/dev/hda1

  initrd=/boot/initrd.img-2.4.20-686

  vmlinuz-2.4.20-686和initrd.img-2.4.20-686,应该到/boot目录下去找相应的文件名。在这里,我是以我的机器上的来说的。

  同时,要在/etc/grub.conf中保证原来的内核的启动的那段有在, 这样就是我们没有写好grub.conf,我们也方便修改。

  另外,升级完成后,可能存在网卡不能用的情况,这要修改/etc/modules.conf这个文件,比如我用8029的网卡,就要加入一行。

  alias eth0 ne2k-pci

  当然如果声卡要发声,也得重新修改这个文件。应该到/lib/modules/2.4.20-686/kernel/drivers/

  中找相应的硬件设备的模块名,比如我想让8029网卡能加载。这是我以我的机器的上的系统来说的。在我前面说的目录中,可能与您的不同。也就是标颜色的地方不同。网卡的模块名就在/lib/modules/2.4.20-686/kernel/drivers/net

  8029的网卡,也就是ne2k-pci,所以就有alias eth0 ne2k-pci这一行之说。具体详细的,就看您所出的问题,根据问题找解决办法,可能是最能学到东西了。我仅是举个例子。

  改完后,我们reboot一下试试???

  #uname -a

  #reboot

  请大家多多指教。。。
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,