vmlinuz
vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。
vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创建,然后通过:
“cp /usr/src/linux-2.4/arch/i386/linux/boot/zImage /boot/vmlinuz”产生。zImage适用于小内核的情况,它的存在是为了向后的兼容性。二是内核编译时通过命令make bzImage创建,然后通过:“cp /usr/src/linux-2.4/arch/i386/linux/boot/bzImage /boot/vmlinuz”产生。bzImage是压缩的内核映像,需要注意,bzImage不是用bzip2压缩的,bzImage中的bz容易引起误解,bz表示“big zImage”。 bzImage中的b是“big”意思。
vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
initrd-x.x.x.img
initrd是“initial ramdisk”的简写。initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。initrd-2.4.7-10.img是用gzip压缩的文件。
System.map是一个特定内核的内核符号表
清除以前编译内核残留 make mrproper
配置内核可以根据需要使用下面命令中的一个:
#make config(基于文本的最为传统的配置界面,不推荐使用);
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用);
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用);
#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦);
正确设置关联文件
make dep ;make clean
第一个命令make dep实际上读取配置过程生成的配置文件,来创建对应于配置的依赖关系树,从而决定哪些需要编译而那些不需要;
第二命令make clean完成删除前面步骤留下的文件,以避免出现一些错误;
编译内核
make zImage (对于小内核)
make bzImage (对于大内核(比如需要SCSI支持))