一、內核簡介
二、內核版本號
三、為什麼重新編譯內核
四、內核編譯模式
五、新版本內核的獲取和更新
以上這些內容講的太多了,我這裡均省略了,你可以參考http://www.Linuxsir.com/bbs/showthr...s=&threadid=977
六、內核編譯的時候,編譯過程中如果出錯的話,就執行一下make rmproper.這個命令是清除原來的*.o文件的,但是如果你清除了他們以後,編譯會非常費時間,因為這些obj文件需要重新生成。這樣能解決一些編譯過程的錯誤。
#make menUConfig來通過字符界面來進行設置。
這裡有很多選項,如果新手不明白的話,情參考上面提到的帖子,有比較詳細的說明。需要提出的是,文件系統的支持選項最好選上ntfs,當然還有vfat,msdosfat等。
不用的驅動就不要選了,讓內核盡量簡單。不用的盡量都省去,比如USB(如果你不用打印機或者掃描儀),還有並口的支持等。
特別的,實在看不懂,就選默認的值,比較保險啊~
搞定保存。。。
執行
#make dep
#make clean
#make bzImage
#make modules
#make modules_install
一切搞定了。。。新的內核生成在/usr/src/linux/arch/i386/boot目錄下,也就是bzImage。
拷貝文件到/boot:
#cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20
#cp /usr/src/linux/System.map /boot/System.map-2.4.20
修改啟動管理器
如果用LILO,修改/etc/lilo.conf,添加以下項:
image=/boot/vmlinuz-2.4.18
label=linux240
read-only
root=/dev/hda2
其中root=/dev/hda2一行要根據需要自行加以修改。
運行:
#/sbin/lilo -v
確認對/etc/lilo.conf的編輯無誤,現在重新啟動系統:
#shutdown -r now
如果是用Grub啟動管理器
就執行new-kernel-pkg --mkinitrd --moddep --install 2.4.20
這時候你的/boot下生成一個initrd-2.4.20.img
並且,你的Grub.conf也更改好了。不過要特別說明的是,自己vi一下Grub.conf,
把kernel /vmlinuz-2.4.18-14 ro root=LABEL=/ hda=ide-scsi改成
kernel /vmlinuz-2.4.18-14 ro root=/dev/hdaX
其中X是你的根的分區。
注意,這裡根分區不時boot的那個50M的分區,而一般是你最大的那個分區,也就是"/",千萬不要搞錯哦。
保存,重起。。。。
如果順利的話,就應該進入Xwindow了。可是,如果
1、出現以下錯誤提示VFS:cannot open root device "XXXX"or 00:00的話,就是你的grub.conf裡kernel /vmlinuz-2.4.18-14 ro root=/dev/hdaX沒有設對的問題了。我開始就是被這個問題搞的很煩。
2、進不了xwindow
如果你裝過顯卡驅動,比如Nvidia的話,你可以這樣辦
rpm -e NVIDIA_GLX_XXX(XXX為你的顯卡驅動對應的版本號,比如我的是NVIDIA_GLX-1.0-3123)
rpm -e NVIDIA_kernel_XXXX(同上)
把以前安裝的驅動刪去。
rpmbuild --rebuild NVIDIA_kernel_XXXX,重新編譯你的顯卡驅動。編譯好的放在/usr/src/redhat/RPMS/i386/下
然後安裝就是了、、、
rpm -Uvh NVIDIA_kernel_XXXX.i386.rpm
rpm -Uvh NVIDIA_GLX_XXXX.i386.rpm
搞定,重起。。。ok~
3、不能自動關機
你可以在make menuconfig的時候,在 general setup裡的“APM(advance power manager)BIOS SUPPORT”選“Y”,然後下面的“USE REAL MODE APM BIOS CALL TO POWER OFF”選“Y”,重新編譯內核就ok了。
還要說明一點,如果你用的是EXT3分區格式請將EXT2編入內核,將EXT3編成模塊。否則,你的系統不能加載你的分區。
以上是我的升級經歷,如有錯誤高手請指正,謝謝。。HOHOHO~
[1]
然後安裝就是了、、、
rpm -Uvh NVIDIA_kernel_XXXX.i386.rpm
rpm -Uvh NVIDIA_GLX_XXXX.i386.rpm
搞定,重起。。。ok~
3、不能自動關機
你可以在make menuconfig的時候,在 general setup裡的“APM(advance power manager)BIOS SUPPORT”選“Y”,然後下面的“USE REAL MODE APM BIOS CALL TO POWER OFF”選“Y”,重新編譯內核就ok了。
還要說明一點,如果你用的是EXT3分區格式請將EXT2編入內核,將EXT3編成模塊。否則,你的系統不能加載你的分區。
以上是我的升級經歷,如有錯誤高手請指正,謝謝。。HOHOHO~