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