Red Hat 7.0原來的內核版本為2.2.16,對於像我這類“追新族”來說,使用一把最新的產品,是一件快事。而且,升級軟件或者內核本身就是加固系統,修補系統存在的潛在漏洞,讓黑客無懈可擊。
本文是一個實際的升級例子,沒有理論的東西,而且存在個人偏好和硬件配置不同等問題,如果你按照本文升級RH 7.0不成功,本人對因此而造成的Linux不能啟動,Windows 98不能啟動等等問題,概不負責。
機器的硬件配置為AMD 700MHz、Voodoo 3 3000 PCI,以及128MB內存,RH 7.0是新安裝,不是升級安裝。
1. 以root用戶登錄系統。
2. 下載linux-2.4.0.tar.gz到/root目錄。
3. 解開tarball :
# tar xvzf linux-2.4.0.tar.gz
4. 進入新產生的linux子目錄,運行:
# make mrproper
5. 從http://www.redhat.com/support/errata/RHBA-2000-132.html下載更新版本的gcc。在/root目錄下有gcc-2.96-69.i386.rpm文件,安裝:
# rpm -Fvh gcc-2.96-69.i386.rpm
6. 檢驗安裝以後的版本:
# gcc --version
7. 去http://www.kernel.org下載util-linux 2.10o,並安裝:
# ./configure
# make
# make install
檢驗版本:
# fdformat --version
8. 從kernel.org下載modutils-2.4.0 RPM包並安裝:
# rpm -Fvh modutils-2.4.0.i386.rpm
檢查版本:
# insmod -V
9. 對ksymoops-2.4.0-1.i386.rpm和e2fsprogs-1.19-0.i386.rpm做同樣的處理。
10.從ftp://rawhide.redhat.com/pub/rawhide/i386/RedHat/RPMS/下載更新的mkinitrd包安裝並檢查版本:
# rpm -Fvh mkinitrd-2.9-1.i386.rpm
11. 在linux目錄下,運行make xconfig,產生.config文件。
12. 查看Makefile的前面幾行是否和當前環境一致,
export INSTALL_PATH=/boot
被注釋了,需要去掉注釋。因為Red Hat把他的內核放在/boot下。
13. 運行make dep。
14. 運行make bzImage。
15. 運行make modules。
16. 運行make modules_install。
17. 復制新內核(‘bzImage’) 到/home目錄作為備份:
# cp /root/linux/arch/i386/boot/bzImage /home/bzImage
18. 復制新內核到/boot目錄,並改名為:mykernel-2.4.0 :
# cp /root/linux/arch/i386/boot/bzImage /boot/mykernel-2.4.0
19. 編輯/etc/lilo.conf,使可以從新內核缺省啟動:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
message=/boot/message
linear
default=2.4.0
image=/boot/mykernel-2.4.0
label=2.4.0
root=/dev/hda1
read-only
image=/boot/vmlinuz-2.2.16-22
label=2.2.16
root=/dev/hda1
read-only
21. 運行lilo 。
22. 重新啟動機器。
啟動後有些模塊沒有起來,因為沒有加載過,運行modprobe以後就可以了