對於Linux新手來說,編譯內核相對有一些難度,甚至不知道如何入手,現在我歸納了一下,寫出這一篇還算比較詳細的步驟,希望能對各位新手有一些幫助。 1、安裝內核 如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過如果沒有安裝,在光驅中放入linux安裝光盤,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。 2、清除從前編譯內核時殘留的.o 文件和不必要的關聯 cd /usr/src/linux make mrproper 3、配置內核,修改相關參數,請參考其他資料在圖形界面下,make xconfig;字符界面下,make menUConfig在內核配置菜單中正確設置個內核選項,保存退出 4、正確設置關聯文件 make dep 5、編譯內核 對於大內核(比如需要SCSI支持),make bzImage 對於小內核,make zImage 6、編譯模塊 make modules 7、安裝模塊 make modules_install 8、使用新內核 把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄, 然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下: boot=/dev/hda map=/boot/map install=/boot/boot.b prompt timeout=50 linear default=linux-new ### 告訴lilo缺省使用新內核啟動linux ### append="mem=256M" image=/boot/vmlinuz-2.2.14-5.0 label=linux read-only root=/dev/hda5 image=/boot/bzImage(zImage) label=linux-new read-only root=/dev/hda5 保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。 保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效 9、重新生成ram磁盤 如果您的系統中的/etc/lilo.conf沒有使用了ram磁盤選項initrd,略過如果您的系統中的/etc/lilo.conf使用了ram磁盤選項initrd,使用mkinitrd initrd-內核版本號 內核版本號命令重新生成ram磁盤文件,例如我的Redhat 6.2: mkinitrd initrd-2.2.14-5.0 2.2.14-5.0 之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件: initrd=/boot/initrd-2.2.14-5.0 ram磁盤能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件 10、重新啟動,OK! (作者:blainelinar)