Red Hat Linux 9.0 核心升級大法(2.4.20-8 ~ 2.6.20)

來源:互聯網
上載者:User
 

Red Hat Linux 9.0 核心升級大法(2.4.20-8 ~ 2.6.20)

前些天升級了Red Hat Linux 9.0的核心,從2.4.20-8升級到2.6.20版本。

升級過程曲折而艱辛,不過經過努力,還是成功了,願與大家共用。

這個升級過程不局限於從2.4.20-8升級到2.6.20版本,可供將核心從2.4.x升級到2.6.x的使用者使用。

首先,要做好準備工作,你的手中至少要有以下四套軟體包:

1、Linux的2.6.20版本核心包(linux-2.6.20.tar.gz):作用就不多說了,自然是核心的源碼包;

2、Modutils 3.2 工具包(module-init-tools-3.2.tar.gz):原2.4.x下的工具包不適用於2.6.x,必須升級;

3、Mkinitrd 4.1.18-2 工具包(mkinitrd-4.1.18-2.i386.rpm):在make install時需要使用該工具;

4、Device Mapper 開發包(device-mapper-1.00.19-2.i386.rpm):Mkinitrd工具包依賴該包;

5、LVM 開發包(lvm2-2.00.25-1.01.i386.rpm):Device Mapper依賴該包;

6、Binutils 開發包(binutils-2.17.tar.gz):如升級安裝於虛擬機器上的Red Hat Linux,則必需該包。

呵呵,準備就緒了嗎?在這裡我都沒有給出,是因為不同的機器在不同的地區,不同的網路上,可能會有下載速度的較大差異。以前我用別人提供的,下載的都十分緩慢。所以,我在這裡告訴大家如何快速的去獲得這些工具包:一定要到Google(推薦)或BAIDU上搜尋,搜尋的時候要用檔案名稱全名進行搜尋,假如要搜尋LVM 開發包,那麼填寫關鍵字時要寫lvm2-2.00.25-1.01.i386.rpm,然後在找到的結果中選擇以“Index of ……”為標題的網頁。這樣的網頁會有很多,選擇的時候要根據每一條記錄最後一行給出的網域名稱,選出離自己地理位置最近的網頁。比如說“*.ch.kernel.org”之類的網域名稱下的網頁。這樣可以有效保證下載速度,不會讓你一邊玩著遊戲,一邊升級核心,等軟體包都下載完了,心思也就全跑到遊戲上了。:)

現在開始安裝工具包吧!首先安裝Modutils 3.2 工具包,將目前的目錄切換到module-init-tools-3.2.tar.gz的下載目錄下,依次執行如下命令:

tar zxf module-init-tools-3.2.tar.gz

cd module-init-tools-3.2

./configure --prefix=/

make moveold(將原來的工具程式改名,這樣還可繼續使用原來的2.4.x核心)

make all install

./generate-modprobe.conf /etc/modprobe.conf(產生2.6.x核心的新設定檔)

下面安裝Mkinitrd 4.1.18-2 工具包,將目前的目錄切換到mkinitrd-4.1.18-2.i386.rpm、device-mapper-1.00.19-2.i386.rpm和lvm2-2.00.25-1.01.i386.rpm的下載目錄(三個檔案最好在同一目錄)下,依次執行如下命令:

rpm -ivh --nodeps --force lvm2-2.00.25-1.01.i386.rpm

rpm -ivh --nodeps --force device-mapper-1.00.19-2.i386.rpm

rpm -ivh --nodeps --force mkinitrd-4.1.18-2.i386.rpm

在虛擬機器上運行Red Hat Linux 9.0或安裝核心到最後出現bzImage編譯錯誤的情況,則必須安裝Binutils 開發包,虛擬機器上該類型的錯誤訊息一般為:

OBJCOPY arch/i386/boot/compressed/vmlinux.bin
BFD: Warning: Writing section `.bss' to huge (ie negative) file offset 0xc025d000.
objcopy: arch/i386/boot/compressed/vmlinux.bin: File truncated
make[2]: *** [arch/i386/boot/compressed/vmlinux.bin] Error 1
make[1]: *** [arch/i386/boot/compressed/vmlinux] Error 2
make: *** [bzImage] Error 2

將目前的目錄切換到binutils-2.17.tar.gz下載目錄,依次執行如下命令:

tar zxf binutils-2.17.tar.gz

cd binutils-2.17

./configure

make

make install

好了,所有安裝包均已齊備,現在開始編譯新核心吧!

將目前的目錄切換到linux-2.6.20.tar.gz下載目錄,依次執行如下命令:

cp ./linux-2.6.20.tar.gz /usr/src

tar zxf linux-2.6.20.tar.gz

cd linux-2.6.20

make mrproper

make menuconfig

此時會出現一個圖形介面,列出了所有的核心配置選項,其中有幾項是必需的,用“Y”鍵選中:

“Loadable Module support”中,選“Module unloading”和“Automatic kernel module loading”;

“Device Drivers”→“Block Devices”中,選“Loopback device support”;

“Device Drivers”→“Multi-device support(RAID and LVM)”中,選“device mapper support”;

“Device Drivers”→“Graphics support”中,選“Support for frame buffer devices”;

“Device Drivers”→“USB support”中,若不在虛擬機器環境中,應盡量全選以支援USB;

“Device Drivers”→“Network device support ”→“Ethernet (10 or 100Mbit)”中,選“AMD PCnet32 PCI support”;

由於Red Hat 9.0使用ext3作為檔案系統,故“File System”中的所有關於ext2、ext3的選項必選;

如果在VMware虛擬機器下編譯核心,SCSI硬碟,則以下三個選項必選:

“Device Drivers”→“SCSI device support”;

“Device Drivers”→“SCSI device support”→“SCSI disk support”;

“Device Drivers”→“SCSI device support”→“SCSI low-level drivers”→“BusLogic SCSI support”;

對於要求系統提供比較多樣的網路通訊協定的開發人員,還應在“Network Support”中進行相應設定。

設定完成!開始進行真正的核心編譯工作。依次執行如下命令:

make

make modules

make modules_install

make install

如果是VMware虛擬機器+SCSI硬碟的使用者,在make install之前,還要執行以下命令:

cp /usr/src/linux-2.6.20/drivers/scsi/BusLogic.o /lib/modules/2.6.20/kernel/drivers/scsi

核心編譯到此就完全結束了,若想要成功啟動核心,還要做一些後續的工作。依次執行如下命令:

cp /usr/src/linux-2.6.20/arch/i386/boot/bzImage /boot/vmlinuz-2.6.20(使用VMware的使用者必需)

cp /usr/src/linux-2.6.20/System.map /boot/System.map-2.6.20

cd /boot

rm -rf System.map(刪除原有的核心啟動串連)

ln -s System.map-2.6.20 System.map(設定新的核心啟動串連)

若你的Linux為GRUB啟動,則還要修改相應的開機檔案:

cd /boot

new-kernel-pkg --mkinitrd --depmod --install 2.6.20

df(該命令查看根分區,即標識為“/”的分區,看好後要記住它的名字,假設為/dev/sda2

gedit /boot/grub/grub.conf

在彈出的編輯視窗中,將“default=1”改為“default=0”,並將“kernel”行的“LABEL=/”改為上一步所查看的分區,按我們上一步的假設,改完以後的“kernel”行應該是下面的樣子:

kernel /vmlinuz-2.6.20 ro root=/dev/sda2

由於本人使用虛擬機器安裝,所以上面的內容可能會與實環境有些出入,但藍色粗體部分一定是這樣的。

如果想在新核心下支援Hotplug、USB裝置或體驗sysfs檔案系統等,還需要安裝相應的工具包並改變更配置置檔案。關於這些問題,這裡不再敘述,以後開闢新帖供大家專門研究討論。

好了,整個核心升級大功告成!重新啟動之後,在作業系統選擇欄中會看到如下兩項:

Red Hat Linux(2.6.20)
Red Hat Linux(2.4.20-8)

選擇第一項,就可以真正使用2.6.20的Linux系統了。Enjoy the new kernel!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.