如何编译安装Linux内核
硬件配置
下列步骤需在一个下列配置的计算机系统中演示: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在我的系统中运行(我的名字叫Subhasish Ghosh,你也可以命名为其它名称,事实上在系统中有两个内核是同时运行的)下面,搜索并编译Linux内核。
编译、配置并安装一个定制的RedHat Linux内核的步骤:
整个步骤如下:
步骤1:以"root"身份登录,然后执行下列步骤
步骤2:在命令提示中键入 "rpm-q kernel-headers kernel-source make dev86"
步骤3:如果这些rpm包已经装好,直接进入步骤4。否则,挂载上RedHat Linux 7.0 光盘并执行rpm-Uvh以便安装这些必须的rpm包。
步骤4:如果你已有一个完全运行的X window System,那么在命令提示中键入"startx"。如果没有配置X window System,那么在命令提示中键入"make config"或者"make menuconfig"。
步骤5:进入GNOME环境,打开GNOME终端并键入"cd /usr/src/linux"然后回车。
步骤6:在/usr/src/linux 目录下,键入"make xconfig"。
步骤7:屏幕上将出现GUI版本的"make config",它将提供给你不同选项使你获得一个定制的内核。
步骤8:现在,我建议你尽量使用缺省设置。请注意不要轻易改变选项,因为许多选项非常敏感,需要专业处理,你仅需要做以下改动:
1.处理器型号和特征:选择正确的处理器取决于你是否使用Pentium Ⅱ或者Pentium Ⅲ,或像我一样使用Intel Celeron.例如,我操作如下:
Processor Family:PPro/686MX
Maximum Physical Memory:1 GB
Math Emulation:Yes
MTRR:Yes
SMP:Yes
2.打开文件系统对话框并做以下改动:
例如我是如下选择的:
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目录下执行"ls -al".
步骤10:你将看到一个名为"Makefile"的文件,它对整个编译过程非常重要。因此,一定要先使用"cp Makefile Makefile.bak"命令对该文件进行备份。
步骤11:在usr/src/linux 中执行"vi Makefile"。
步骤12:找到EXTRAVERSION并改变它.例如:我将EXTRAVERSION=-22改为EXTRAVERSION="-22grosh".当然,你完全可以任意命名它。
步骤13:保存并退出文件。
步骤14:下列步骤在/usr/src/Linux 目录下执行。键入"make dep clean"回车。
步骤15:键入:"make bzImage modules"。这需要花费一些时间。你可以在这段时间休息一会。
步骤16:以上步骤完成后,在/usr/src/Linux/arch/i386/boot目录下将产生一个"bzlmage"文件。找到这个目录并检查"bzlmage"文件是否已经产生.如果上述 步骤得到了正确的执行并且在"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文件中已经按你的要求改变了相应的条目,但重要的一点是根目录必须是你的系统的根目录。例如:在我的系统中是在/dev/hde5中。插入你的系统的有关信息。
步骤23:键入:"/sbin/lilo -v -v"。
步骤24:阅读屏幕上的所有信息。假如没有显示错误,那么所有的工作就已完成了。Congratulations!
步骤25:键入:"/sbin/reboot"或"/sbin/shutdowm-r now"重新开机。
步骤26:在启动屏中,按Tab键(如果你使用的是LILO启动屏,可按 ctrl-X 键),你可以看见与其它选项一同出现的"GhoshKernel"选项。
步骤27:键入:GhoshKernel,回车。完全运行的定制内核就被引导装入系统中了。
终曲
以"root"身份登录,键入"uname -r"然后回车。你会在屏幕上看到2.2.16-22ghosh条目,它表示你正在运行定制过的内核,而不是2.2.16-22的内核版本。记住你可以在一个计算机中运行多个不同版本的内核。