- 論壇徽章:
- 0
|
Compile Linux 2.6 Kernel
1.Download kernel:
http://www.kernel.org/pub/linux/kernel/v2.6/
2.Copy code to work directory:
#cp linux-2.6.18.1.tar.gz /usr/src
#cd /usr/src
3.If there is an old edition,delete the symbol link:
#rm -f linux-2.4
4.decompress the packdge:
#tar -zxvf linux-2.6.18.1.tar.gz
5.enter the compile directory:
#cd /usr/src/linux-2.6.18.1
6.This command ensure there is no .o file & dependence between files in the directory
#make mrproper
7make a backup
#cp -r /boot /boot_bak
8.see the position of root directory
#df
以下是偶機(jī)器的部分輸出:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 22G 3.7G 17G 19% /
/dev/hda3 99M 12M 82M 13% /boot
...
看看你的系統(tǒng)根目錄裝在哪里很重要,因?yàn)楹竺婺銓?huì)看到系統(tǒng)安裝編譯好的內(nèi)核時(shí)在grub.conf插入的命令中root=LABEL=/ hdc=ide-scsi
可能會(huì)引發(fā)系統(tǒng)引導(dǎo)時(shí)的如下錯(cuò)誤:
VFS: Cannot open root device "" or 00:00
Please append a correct "root=" boot option
Kernel panic: VFS: Unable to Mount root fs on 00:00
所以要在grub.conf里可能會(huì)修改其命令為:root=/dev/VolGroup00/LogVol00
9.#cd /usr/src/linux-2.6.18.1
#make menuconfig
8.3用以下命令讀取剛才的配置數(shù)據(jù)使之生效:
#make dep
#make clean
9.開始編譯內(nèi)核和模塊
#make bzImage
#make modules
#make modules_install
10.將編譯好的文件移到/boot下;
#mv /usr/src/linux-2.6.18.1/System.map /boot/System.map-2.6.18.1
#mv /usr/src/linux-2.6.18.1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.18.1
#mkinitrd initrd-2.6.18.1.img 2.6.18.1
//上面的命令是用來創(chuàng)新initrd映像的,不創(chuàng)建這個(gè)文件,有時(shí)是啟動(dòng)不起來的,比如提示VFS錯(cuò)誤等;
11.修改/boot/grub/menu.lst文件,添加以下內(nèi)容:
title Fedora Core (2.6.18.1)
root (hd0,2)
kernel /vmlinuz-2.6.18.1 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18.1.img
制作文件系統(tǒng)
制作文檔
本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u3/95345/showart_1919209.html |
|