摘要:文章將為你詳細並逐步的描述如何編譯、配置、安裝一個定制的RedHat Linux內核。我們知道,一個定制的內核從很多方面來看都是必需的,在此我不再討論這個問題。我只向大家展示如何編譯、配置和安裝一個定制的內核。雖然下面所列步驟主要是針對RedHat Linux用戶,但它也同樣適用於其它Linux發行版的使用者。當然,一些較小的改動是必須的(例如,並不是所有的系統都使用initrd) 摘要 文章將為你詳細並逐步的描述如何編譯、配置、安裝一個定制的RedHat Linux內核。我們知道,一個定制的內核從很多方面來看都是必需的,在此我不再討論這個問題。我只向大家展示如何編譯、配置和安裝一個定制的內核。雖然下面所列步驟主要是針對RedHat Linux用戶,但它也同樣適用於其它Linux發行版的使用者。當然,一些較小的改動是必須的(例如,並不是所有的系統都使用initrd) 硬件配置 下列步驟需在一個下列配置的計算機系統中演示:Compaq Presatio 4010 Series cinorter system,15.5GB硬盤,96 MB內存,400 MHz Intel Celeron Processorm ,Red Hat Linux 7.0(內核版本為2.2.16-22) 目標 我們的目標是在進行完下列步驟後得到一個完全運行的定制過的內核,例如,我有一個 定制過的內核2.2.16-22ghosh在我的系統中運行(我的名字叫Subhasish Ghosh,你也可以命名為其它名稱,事實上在系統中有兩個內核是同時運行的)下面,搜索並編譯Linux內核。 編譯、配置並安裝一個定制的RedHat Linux內核的步驟: 整個步驟如下: 步驟1:以“root"身份登錄,然後執行下列步驟 步驟2:在命令提示中鍵入 "rpm-q kernel-headers kernel-source make dev86" 步驟3:如果這些rpm包已經裝好,直接進入步驟4。否則,掛載上RedHat Linux 7.0 光盤並執行rpm-Uvh以便安裝這些必須的rpm包。 步驟4:如果你已有一個完全運行的X window System,那麼在命令提示中鍵入“startx”。如果沒有配置X window System,那麼在命令提示中鍵入“make config”或者“make menUConfig”。 步驟5:進入GNOME環境,打開GNOME終端並鍵入“cd /usr/src/linux”然後回車。 步驟6:在/usr/src/linux 目錄下,鍵入“make xconfig”。 步驟7:屏幕上將出現GUI版本的“make config",它將提供給你不同選項使你獲得一個定制的內核。 步驟8:現在,我建議你盡量使用缺省設置。請注意不要輕易改變選項,因為許多選項非常敏感,需要專業處理,你僅需要做以下改動: 1.處理器型號和特征:選擇正確的處理器取決於你是否使用Pentium Ⅱ或者Pentium Ⅲ,或像我一樣使用Intel Celeron.例如,我操作如下: Processor Family:PPro/686MX Maximum Physical Memory:1 GB Math Emulation:Yes MTRR:Yes SMP:Yes 2.打開文件系統對話框並做以下改動: 例如我是如下選擇的: DOS FAT fs support:Yes(y) MSDOD fs support:Yes(y) UMSDOS:m VFAT(Window 95) support:Yes(y) NTFS filesystem support (read-only):Yes(y) NTFS read-write support(DANGEROUS):NO(n) 完成以上選擇後,請確認你沒有改變其它選項。以上所有改動是無害的, 不會對你的Linux內核產生壞作用。 3.保存並從主對話框中退出 步驟9:在/usr/src/Linux目錄下執行"ls -al". 步驟10:你將看到一個名為"Makefile"的文件,它對整個編譯過程非常重要。因此,一定要先使用“cp Makefile Makefile.bak”命令對該文件進行備份。 步驟11:在usr/src/linux 中執行"vi Makefile"。 步驟12:找到EXTRAVERSION並改變它.例如:我將EXTRAVERSION=-22改為EXTRAVERSION="-22grosh".當然,你完全可以任意命名它。 步驟13:保存並退出文件。 步驟14:下列步驟在/usr/src/Linux 目錄下執行。鍵入“make dep clean”回車。 步驟15:鍵入:“make bzImage modules”。這需要花費一些時間。你可以在這段時間休息一會。 步驟16:以上步驟完成後,在/usr/src/Linux/arch/i386/boot目錄下將產生一個“bzlmage”文件。找到這個目錄並檢查“bzlmage”文件是否已經產生.如果上述步驟得到了正確的執行並且在“make xconfig”中的所有選項都選擇正確的話,你一定會看到這個文件。如果沒有這個文件,那麼很遺憾,你得從頭開始。 步驟17:在/usr/src/linux目錄下鍵入“cp ./arch/i386/boot/bzlmage /boot/vmlinuz-2.2.16.22ghosh”並回車。 步驟18:鍵入:“cp System.map /boot/System.map-2.2.16-22ghosh”。 步驟19:鍵入:“make modules install”,回車。你將看見所有的模塊將在一個新的指定目錄下被安裝。 步驟20:鍵入:“mkinitrd /boot/initrd-2.2.16-22ghosh.img2.2.16-22ghosh”。 步驟21:鍵入:“vi /etc/lilo.conf”且隨後加入以下條目 image=/boot/vmlinuz-2.2.16-22ghosh label=GhoshKernel initrd=/boot/initrd-2/2/16-22ghosh.img root=/dev/hdc5 read-only 步驟22:保存並退出。請注意:在lilo.conf文件中已經按你的要求改變了相應的條目,但重要的一點是根目錄必須是你的系統的根目錄。例如:在我的系統中是在/dev/hde5中。插入你的系統的有關信息。 步驟23:鍵入:“/sbin/lilo -v -v”。 步驟24:閱讀屏幕上的所有信息。假如沒有顯示錯誤,那麼所有的工作就已完成了。Congratulations! 步驟25:鍵入:“/sbin/reboot”或“/sbin/shutdowm-r now”重新開機。 步驟26:在啟動屏中,按Tab鍵(如果你使用的是LILO啟動屏,可按 ctrl-X 鍵),你可以看見與其它選項一同出現的“GhoshKernel”選項。 步驟27:鍵入:GhoshKernel,回車。完全運行的定制內核就被引導裝入系統中了。 終曲 以“root”身份登錄,鍵入“uname -r”然後回車。你會在屏幕上看到2.2.16-22ghosh條目,它表示你正在運行定制過的內核,而不是2.2.16-22的內核版本。記住你可以在一個計算機中運行多個不同版本的內核。如果你遇到了問題,發E-mail給我,郵箱是:[email protected]。 資源 在許多Web站點裡都有關於如何編譯和運行最優化的定制內核的信息。例如http://www.vmlinuz.nu/。還有一些其它的關於Linux內核的使用和編譯的站點。