如何編譯安裝Linux內核
硬件配置
下列步驟需在一個下列配置的計算機系統(tǒng)中演示: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在我的系統(tǒng)中運行(我的名字叫Subhasish Ghosh,你也可以命名為其它名稱,事實上在系統(tǒng)中有兩個內核是同時運行的)下面,搜索并編譯Linux內核。
編譯、配置并安裝一個定制的RedHat Linux內核的步驟:
整個步驟如下:
步驟1:以“root身份登錄,然后執(zhí)行下列步驟
步驟2:在命令提示中鍵入 rpm-q kernel-headers kernel-source make dev86
步驟3:如果這些rpm包已經裝好,直接進入步驟4。否則,掛載上RedHat Linux 7.0 光盤并執(zhí)行rpm-Uvh以便安裝這些必須的rpm包。
步驟4:如果你已有一個完全運行的X window System,那么在命令提示中鍵入“startx”。如果沒有配置X window System,那么在命令提示中鍵入“make config”或者“make menuconfig”。
步驟5:進入GNOME環(huán)境,打開GNOME終端并鍵入“cd /usr/src/linux”然后回車。
步驟6:在/usr/src/linux 目錄下,鍵入“make xconfig”。
步驟7:屏幕上將出現GUI版本的“make config,它將提供給你不同選項使你獲得一個定制的內核。
步驟8:現在,我建議你盡量使用缺省設置。請注意不要輕易改變選項,因為許多選項非常敏感,需要專業(yè)處理,你僅需要做以下改動:
1.處理器型號和特征:選擇正確的處理器取決于你是否使用Pentium Ⅱ或者Pentium Ⅲ,或像我一樣使用Intel Celeron.例如,我操作如下:
Processor Family:PPro/686MX
Maximum Physical Memory:1 GB
Math Emulation:Yes
MTRR:Yes
SMP:Yes
2.打開文件系統(tǒng)對話框并做以下改動:
例如我是如下選擇的:
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目錄下執(zhí)行l(wèi)s -al.
步驟10:你將看到一個名為Makefile的文件,它對整個編譯過程非常重要。因此,一定要先使用“cp Makefile Makefile.bak”命令對該文件進行備份。
步驟11:在usr/src/linux 中執(zhí)行vi Makefile。
步驟12:找到EXTRAVERSION并改變它.例如:我將EXTRAVERSION=-22改為EXTRAVERSION=-22grosh.當然,你完全可以任意命名它。
步驟13:保存并退出文件。
步驟14:下列步驟在/usr/src/Linux 目錄下執(zhí)行。鍵入“make dep clean”回車。
步驟15:鍵入:“make bzImage modules”。這需要花費一些時間。你可以在這段時間休息一會。
步驟16:以上步驟完成后,在/usr/src/Linux/arch/i386/boot目錄下將產生一個“bzlmage”文件。找到這個目錄并檢查“bzlmage”文件是否已經產生.如果上述 步驟得到了正確的執(zhí)行并且在“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文件中已經按你的要求改變了相應的條目,但重要的一點是根目錄必須是你的系統(tǒng)的根目錄。例如:在我的系統(tǒng)中是在/dev/hde5中。插入你的系統(tǒng)的有關信息。
步驟23:鍵入:“/sbin/lilo -v -v”。
步驟24:閱讀屏幕上的所有信息。假如沒有顯示錯誤,那么所有的工作就已完成了。Congratulations!
步驟25:鍵入:“/sbin/reboot”或“/sbin/shutdowm-r now”重新開機。
步驟26:在啟動屏中,按Tab鍵(如果你使用的是LILO啟動屏,可按 ctrl-X 鍵),你可以看見與其它選項一同出現的“GhoshKernel”選項。
步驟27:鍵入:GhoshKernel,回車。完全運行的定制內核就被引導裝入系統(tǒng)中了。
終曲
以“root”身份登錄,鍵入“uname -r”然后回車。你會在屏幕上看到2.2.16-22ghosh條目,它表示你正在運行定制過的內核,而不是2.2.16-22的內核版本。記住你可以在一個計算機中運行多個不同版本的內核。
評論