打开终端,输入:cd /usr/src/linux2.4,然后输入make xconfig.现在编译内核正式开始了
1.1 “code maturity level options”选项,代表代码的成熟等级,因为这是一个试验的部分,我们不需要,所以关闭它。
1.2 “Loadable module support”可加载模块支持
可加载模块是指内核代码(kernel code)的一些片断,比如驱动程序,当编译内核的时候它们也被单独编译。因此,这些代码不是内核的一部分,但是当需要它的时候,它可以被加载并使用。内核代码编译成可加载模块,可以使内核更小,而且更稳定。所以里面的三项我们全选。
1.3 Processor type and features:处理器类型和特色
在这里,你可以选择你的处理器(Processor)的类型,决定是否选择不同的选项。通常“/dev/cpu”选项更高级,多数用户并不需要选择它。 “High Memory Support”只有当你的计算机有超过1GB内存(不是磁盘空间)时才是必须的。多数计算机的内存从64到512MB(并且拥有8到60GB硬盘空间),因此“High Memory Support”通常并不使用。实际上现在所有的处理器都集成了浮点运算单元(译者注:从586级开始所有CPU集成了浮点运算单元),所以通常你可以不选择这个选项。 “MTRR”选项允许在PCI或者AGP总线众进行更快速的通讯。由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择 “MTRR”:无论如何,打开这个选项通常都是安全的——即使你的机器没有使用 PCI或AGP总线的显卡。对称多处理器(SMP)需要能够支持超过一个处理器的主板,比如一块支持双Pentium II处理器的主板。 “Symmetric multi-processing”选项保证内核能够以最佳方式加载双处理器。最后一个选项(“APIC”选项)通常也需要多处理器,但它通常是关闭的。所以在这一栏我只选了MTRR,其他都不选。
1.4 General setup:常规内核选项。
Networking support,linux网络支持,必须选上,否则无法编译内核。
Pci support 因为现在所有系统都使用PCI总线,所以选上。
PCI access mode PCI存取模式,选择any.
System V IPC 程序通信和同步,选上
BSD process accounting 保持进程结束时产生的错误代码,选上
Sysctl support 允许程序修改某些内核选项而不需要重新编译内核或者重新启动计算机,选上
Kernel support for a.out binaries a.out的执行文件是比较古老的可执行代码,但有些程序还要用上,所以选上
Kernel support for ELF binaries ,现在的可执行程序格式,选上
Power management support 电源管理支持,选上
1.5 Memory Technology Devices (MTD),配置存储设备(Memory Technology Devices),这个选项使Linux可以读取闪存卡(Flash Card)之类的存储器,关闭
1.6 Parallel port support,配置并口(parallel port).在USB技术出现以前,并口是最常用的连接计算机和打印机、扫描仪的方式,关闭
1.7 Plug and Play configuration配置即插即用(PnP)设备.因为我不需要USB设备,所以我关闭这个选项
1.8 Block devices 配置块设备(block devices)
Normal floppy disk support我要使用软驱,所以选上
1.9 Multi-device support (RAID and LVM) 配置多驱动器(multiple devices)不需要RAID(廉价冗余磁盘阵列)或者LVM支持,所以全部关闭
1.10 Networking options 网络配置选项
Packet Socket选项用来与网卡进行通信而不需要在内核中实现网络协议,选上
Unix domain sockets 进行网络链接,选上
TCP/IP networking此选项包括了Internet和内部网络所需要的协议。选上
1.11 Telephony Support 电话支持,不需要,关闭
1.12 ATA/IDE/MFM/RLL support 配置对ATA,IDE,MFM和RLL的支持(硬盘的通讯协议)
现在都用ATA,IDE格式硬盘,所以选上
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support,基本上所有的计算机都使用IDE/ATAPI界面,因此选上
Include IDE/ATAPI CDROM support 支持光驱的时候需要,关闭
Include IDE/ATAPI TAPE support 关闭
Include IDE/ATAPI FLOPPY support 关闭
CMD640 chipset bugfix/support 关闭
1.13 SCSI support 配置SCSI支持.没有SCSI硬盘,也不用USB设备,所以关闭
1.14 Fusion MPT device support 为灰色,系统自动选关闭
1.15 I2O device support 配置I2O设备支持(I2O Device Support)
没有I2O界面,所以选择关闭。
1.16 Network device support 配置网卡支持(Network Device Support)
Network device support 在没有网卡支持的情况下,很难将内核编译成功,选上
Dummy net driver support(虚拟网卡驱动),系统会经常用到虚拟网卡,选为一个可加载模块。
Ethernet(10 or 100Mbit)配置以太网卡(Ethernet Device)根据自己的实际情况配置,比如我有一块3c509/3c529芯片的3com卡,则选3com cards并将3c509/3c529选为可加载模块
1.17 Amateur Radio support 配置业余广播支持(Amateur Radio Support)不需要,关闭
1.18 IrDA (infrared) support配置红外线(无线)通讯支持 不需要,关闭
1.19 ISDN subsystem 配置ISDN.不需要,关闭
1.20 Old CD-ROM drivers (not SCSI, not IDE) 配置老CDROM.没有老CDROM,关闭
1.21 Input core support 配置Input Core Support. 这个选项提供了2.4.x内核中最重要的特性之一的USB支持。 Input core support是处于内核与一些USB设备之间的层(Layer)。我不需要USB支持,所以,关闭
1.22 Character devices配置字符型设备(Character Devices)
virtual terminal允许在XWindow中打开xterm和使用字符界面登录,选上
support for console on virtual terminal告诉内核将诸如模块错误、内核错误启动信息之类的警告信息发送到什么地方,在XWindow下,通常设置一个专门的窗口来接收内核信息,但是在字符界面下,这些信息通常被发送到第一个虚拟终端(Virtual Terminal),所以,选上
standard/generic (8250/16550 and compatible UARTs) serial support,内核支持串行口,选上
mouse support (not serial and bus mice)用的是PS/2鼠标,所以。选上
PS/2 mouse (aka "auxiliary device" support) 用的是PS/2鼠标,所以。选上
unix98 PTY support 使用远程使用自己机器上的xterm,不需要,关闭
(除此以外的本栏选项,其他的选项全部选择关闭)
1.23 Multimedia devices 配置多媒体设备“Multimedia Devices”不需要,关闭
1.24 Crypto Hardware suppor,关闭
1.25 File systems配置文件系统(File System)
DOS FAT support windowsNT/2000文件系统,不选择,关闭
ISO 9660 CDROM file system support 光驱支持,不需要,关闭
/proc file system support /proc目录中的文件包含了关于系统状态的许多重要信息,比如那些中断正在使用 所以选择,打开
Second extended fs support此选项针对Linux的标准文件系统(Ext2 FS) 必须打开这个选项,所以,打开
UDF file system support不需要,关闭
Network file systems假如计算机处于一个需要使用Network file systems选项的大型网络之中,否则不需要,所以,关闭
Partition Types此选项是一个很高级但对于有效的使用Linux内核来说并不必要的选项,关闭
native language support在这个菜单中,可以选择那些编码将被Linux用来处理DOS和Windows下的文件名,因为刚才选择了不支持DOS 和WINDOWS,所以,关闭
1.26 Console drivers 配置控制台驱动,
VGA text console选项在VGA模式下启动字符模式,打开
video mode selection support此选项使启动的时候能够使用字符模式的分辨率,不需要,关闭
1.27 sound 声卡配置
根据自己的声卡选择相关的驱动,比如我的是nforce系列的声卡,所以我就选择了这一个系列的。
1.28 USB support配置USB支持
因为我将USB驱动关闭了,所以我比需要配置USB支持,所以,关闭
1.29 Kernel hacking 配置“kernel hacking”选项系统默认
1.30 Save and Exit 保存并退出
(注:没有提到的选项,安系统默认选项)
1.31 在终端输入命令make dep (读取配置过程生成的配置文件,创建对应于配置的依赖关系树)
1.32 make clean (完成删除前面步骤留下的文件,以避免出现一些错误)
1.33 make bzImage (完全编译压缩内核)
到此,裁减内核就完成了,这个内核大小是740k