線上為Debian升級核心-》由2.2-20到2.4.20(轉)

post0發表於2007-08-11
線上為Debian升級核心-》由2.2-20到2.4.20(轉)[@more@]

昨天,為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。方法就在這裡。。

這個過程也省了。仔細的看一下不會太難。

上面改/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

請大家多多指教。。。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-945790/,如需轉載,請註明出處,否則將追究法律責任。

相關文章