輕松掌握RHEL 4內核編譯
在RHEL 4操作系統中各個部分幾乎都是很尖端的,當然在內核上也不列外。內核是操作系統最基本的部分。所以RHEL 4內核各個方面都是經過很多考驗的。下面就來給大家詳細的介紹一下RHEL 4內核。
一、RHEL 4內核準備
首先下載內核的壓縮包,注意需要完整的壓縮包,而不是文件名里有patch的那種,那種是用來升級的。用升級包來升級的話出錯就進不了系統,無法調整所以風險較大,這里不予討論。將壓縮包解壓后得到類似linux-2.6.14的文件夾,將這一文件夾移動到 /usr/src/ 下。此時確保你已經正確安裝gcc,編譯工作馬上就可以開始了。
二、RHEL 4內核編譯
[paul@ParhWorkStation ~]$ su
Password:獲得root的權限。
[root@ParhWorkStation paul]#cd /usr/src/linux-2.6.14,進入內核目錄。
[root@ParhWorkStation linux-2.6.14]#make mrproper,清除從前編譯遺跡,注意這一步必不可少,少了這一步會導致編譯出錯。
[root@ParhWorkStation linux-2.6.14]#make gconfig,打開圖形化的配置菜單,Gnome的用戶執行make gconfig(基于Gtk),KDE的用戶執行make xconfig(基于Qt)。
當然還可以選擇make menuconfig或make config,如果你想體驗一下linux前輩們的辛苦的話。
在配置的過程中,有幾點要提一下。配置的選項大部分是對硬件的支持,你一定對自己電腦的硬件很熟悉,那么那些多余的亂七八糟的驅動就可以去掉了。每一次對選項的雙擊會使選項遵循由Y-->M-->N的循環,Y是編譯進內核,M是編譯成模塊,N是不進行編譯。Y的話是鉤,M 的話是杠,N的話就是空的啦。編譯進內核的話就是只要系統在跑,編譯的功能就在運行,而編譯成模塊則是用的著的時候才加載到內核中運行,用不著的時候可以從內核中卸載以釋放內存,這顯然是Linux內核的一個巨大優點。因此一般的硬件驅動都可以編譯成模塊,只有幾個例外,其中就有硬盤控制器的驅動。
為什么硬盤控制器不能編譯成模塊 當你最初引導內核的時候,引導的其實是一個駐留在/boot下的內核的壓縮鏡像,由這個鏡像掛載硬盤分區和文件系統,進而讀取分區上的數據,同時加載模塊。如果沒有將硬盤控制器驅動編譯進內核,內核就無法讀取分區,更不可能加載模塊了!怎么?還沒理解?想想先有雞還是先有蛋吧!
因此,要特別注意選項里對SCSI或是IDE硬盤的支持,根據自己的情況將選項選為Y,同時建議將主分區(即掛載在/上的分區)分區格式的支持也編譯進內核。例如ext3。
在新的內核中ntfs分區格式的支持已經包括,很好用。
另外要提的一點是'development', 'experimental', 'debugging'這幾個在'kernel hacking'下的選項,除非你真的需要,(不過反過來,如果你需要的話就不會來看本文這么初級的文章了)不要選它們。它們會使你的內核更大,也更慢。
配置好之后可以選擇 'Save as...'l來以文本的形式備份所作的配置,這樣如果需要再次編譯,就不用重新一項項選了。最后保存,關掉窗口。
◆[root@ParhWorkStation linux-2.6.14]#make,開始編譯,這時可以吃點零食犒勞一下,或者去床上數幾只綿羊。這個過程會持續一會兒,長度與你電腦的內存成反比。
◆[root@ParhWorkStation linux-2.6.14]#make modules_install,編譯好后執行這個命令安裝模塊,這個過程快多了。好了,編譯就到這里。
三、RHEL 4內核安裝
◆[root@ParhWorkStation linux-2.6.14]#cp /usr/src/linux-2.6.14/arch/i386/boot/bzImage /boot/vmlinuz-2.6.14
◆[root@ParhWorkStation linux-2.6.14]#cp System.map /boot/System.map-2.6.14
這是將編譯過程中產生的鏡像復制到/boot分區下,使Grub(假定你安裝時選擇默認的引導器)能夠引導。
◆[root@ParhWorkStation linux-2.6.14]#/sbin/new-kernel-pkg --mkinitrd --depmod --install 2.6.14,redhat提供這么一個工具用來生成引導時的initrd文件,里 面包含了啟動系統的初始信息。同時,--install參數更新了/boot /grub/grub.conf 中的信息,添加了新內核的引導項。如果你不滿意默認的引導標題等等,可以自己 vim /boot/grub/grub.conf,那個配置文件可讀性很強的,不會有問題。
如果有激活SELinux,那么請vim /etc/selinux/config,將SELinux disable掉,因為新內核可能無法加載SELinux。
四、重新啟動
上述就是筆者對于RHEL 4內核的詳細介紹和解析,RHEL 4內核可是說是非常簡單和方便的,希望通過筆者的介紹可以幫助到大家對RHEL 4內核的了解和認識。
【編輯推薦】