linux內核編譯步驟
對于新手來(lái)說(shuō),編譯內核相對有一些難度,甚至不知道如何入手,現在我歸納了一下,寫(xiě)出這一篇還算比較詳細的步驟,希望能對各位新手有一些幫助。
1、安裝內核
如果內核已經(jīng)安裝(/usr/src/目錄有linux子目錄),跳過(guò),果沒(méi)有安裝,在光驅中放入linux安裝光盤(pán),找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號), 比如RedHatnbsplinux的RPMS目錄是/RedHat/RPMS/目錄,然后使用命令rpm -ivhnbspkernel-source-2.xx.xx.rpm安裝內核如果沒(méi)有安裝盤(pán),可以去各linux廠(chǎng)家站點(diǎn)或者www.kernel.org下載。
2、清除從前編譯內核時(shí)殘留的.o 文件和不必要的關(guān)聯(lián)
cd /usr/src/linux
makenbspmrproper
3、配置內核,修改相關(guān)參數,請參考其他資料
在圖形界面下,makenbspxconfig;字符界面下,makenbspmenuconfig
在內核配置菜單中正確設置個(gè)內核選項,保存退出
4、正確設置關(guān)聯(lián)文件
makenbspdep
5、編譯內核
對于大內核(比如需要SCSI支持),makenbspbzImage
對于小內核,makenbspzImage
6、編譯模塊
makenbspmodules
7、安裝模塊
makenbspmodules_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然后修改/etc/lilo.conf文件,加一個(gè)啟動(dòng)選項,使用新內核bzImage/zImage啟動(dòng)。格式如下:
boot=http://www.icembed.com/dev/hda
map=http://www.icembed.com/boot/map
install=http://www.icembed.com/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo缺省使用新內核啟動(dòng)linux ###
append=mem=256M
image=http://www.icembed.com/boot/vmlinuz-2.2.14-5.0
nbsplabel=linux
nbspread-only
nbsproot=http://www.icembed.com/dev/hda5
image=http://www.icembed.com/boot/bzImage(zImage)
nbsplabel=linux-new
nbspread-only
nbsproot=http://www.icembed.com/dev/hda5
保留舊有的啟動(dòng)選項可以保證新內核不能引導的情況,還可以進(jìn)入linux進(jìn)行其他操作。
保存退出后,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效
9、重新生成ram磁盤(pán)
如果您的系統中的/etc/lilo.conf沒(méi)有使用了ram磁盤(pán)選項initrd,略過(guò)
如果您的系統中的/etc/lilo.conf使用了ram磁盤(pán)選項initrd,
使用mkinitrdnbspinitrd-內核版本號 內核版本號命令重新生成ram磁盤(pán)文件,例如我的Redhatnbsp6.2:
mkinitrdnbspinitrd-2.2.14-5.0nbsp2.2.14-5.0
之后把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=http://www.icembed.com/boot/initrd-2.2.14-5.0
ram磁盤(pán)能使系統性能盡可能的優(yōu)化,具體參考/usr/src/linux/document./initrd.txt文件
10、重新啟動(dòng),OK!
評論