MakeMenuconfig简介 makemenuconfig图形化的内核配置makemrproper删除不必要的文件和目录。 makeconfig(基于文本的最为传统的配置界面,不推荐使用) makemenuconfig(基于文本选单的配置界面,字符终端下推荐使用) makexconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用) makeoldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦) 目的都是生成一个。config文件,这三个命令中,makexconfig的界面最为友好,如果你可以使用Xwindow,你就用这个好了,这个比较方便,也好设置。如果你不能使用Xwindow,那么就使用makemenuconfig好了。界面虽然比上面一个差点,总比makeconfig的要好多了。选择相应的配置时,有三种选择,它们分别代表的含义如下: Y将该功能编译进内核 N不将该功能编译进内核 M将该功能编译成可以在需要时动态插入到内核中的模块菜单解释〔1〕、Codematurityleveloptions:代码成熟等级 1。1。promptfordevelopmentandorincompletecodedrivers。 如果要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的核心。但是有些driver还没进入稳定的阶段。但其作者很欢迎其他人去测试这些driver并提出一些bugs。这个问题是说,有一些drive还在做测试中,问您是否要选择这些drive或支持的程序码。如果键入Y,往后将会出现一些还在测试中的东西给您做选择。(像Java的程序码和PCIbridge),台则就键入N。〔2〕、Loadablemodulesupport:对模块的支持 模块就像你特意插入核心中的某些东西,如果办公室有一个小网络并且有时想用一下(但并不经常),也许你想把网卡编译成一个模块。如果安装启动分区和网络,你需要网络系统文件,和己经编译的网卡。为什么要使用模块? 模块化使核心变的更简捷,它减少核心释放大量的受保护的空间。模块的安装和卸载使用的空间是可重复分配利用的。如果你打开机器有90以上的时间用到一个模块,编译它。运用这类模块是浪费内存的,原因是一旦你编译了模块它们同样将占用大量的内存,核心需要一些代码来挂上模块。记住,核心在保护空间运行,但模块并不是。这么说,并不经常使用我的设备,把它编译成只支持ext2,ide和elf。而一直使用的网卡,把其它的编译成模块:如a。out, java,floppy,iso9960,msdos,minix,vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它们许多只是在这或那用上那么几分钟。严格的说,这样做会使核心增大许多而降低它的执行速度。这时我们就可以把这些可能会用的驱动程序编译成一个个的模块,在需要用的时候才用insmod这个指令加入核心,不用的时候也能rmmod把它从核心移除,或是用lsmod察看目前所载入的模块。 2。1。Enableloadablemodulesupport。 除非准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。 2。2。Setversioninformationonallmodulesymbols。 通常,我们更新核心版本之后,模块耍重新的编译。这个选项使您不必更新编译模块而能使用以前的模块。可以不选它。但如果您选y,则按照它的说明,您必须有genksyms这个程序(可用whereis指令查看有无此程序)。 2。3。Kernelmoduleloader。 让内核在启动时有自己装入必需模块的能力,建议选上。注意:在开机就会mount上来的partition的FS、devicedriver记得要compiler进kernel,不能把它弄成modules。请不要夸张到为了完全模组化而忘了把ext2fs和IDEdirvercompiler进kernel里。 经验谈: a。可加载模块是指内核代码(kernelcode)的一些片断,比如驱动程序,当编译内核的时候它们也被单独编译。因此,这些代码不是内核的一部分,但是当你需要它的时候,它可以被加载并使用。 通常的建议是如果可能,将内核代码编译成可加载模块,因为这样可以使内核更小,而且更稳定。警告!千万不要将文件系统(FileSystem)部分的代码编译为可加载模块,如果你犯了这个错误,将文件系统(FileSystem)部分的代码编译为可加载模块,结果将是内核无法读取它自己的文件系统。然后内核无法加载它自己的配置文件一些很明显是在正常启动Linux时所必需的东西,我很少使用可加载模块:我喜欢我的内核能够直接和硬件对话,但这只是我自己的偏好。〔3〕。Processortypeandfeatures:处理器类型和特色 3。1。Processorfamily。 它会对每种CPU做最佳化,让它跑得快又好。一般来说,没有选择正确的CPU并不会有重大的影响(特别是选择386,这样编译出来的核心也许会比较小但它的速度可能就会变慢了)。 3。2。HighMemorySupport。 只有当你的计算机有超过1GB内存时才是必须的。多数计算机的内存从64到512MB(并且拥有8到60GB硬盘空间),因此HighMemorySupport通常并不使用。 3。3。Mathemulation。 这项询问是否需L1nux核心模拟数学浮点运算器。如果有486Dx、AMD以及Pentium机器的话,这个选项就不必选了,因为它们都有内建的浮点运算器。协处理器是在386时代的宠儿,现在早已不用了。不过,对于有内建浮点运算器的人来说,选了这个选项并不会因此让内建的浮点运算器失效。但它会增大核心约45KB。 3。4。MTTR(memorytyperangeregister)support。 这项允许在PCI或者AGP总线众进行更快速的通讯。 由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择MTRR:无论如何,打开这个选项通常都是安全的即使你的机器没有使用PCI或AGP总线的显卡 3。5。Symmetricmultiprocessingsupport。 这选项保证内核能够以最佳方式加载多处理器。除非有多个CPU,否则就不用选了。 3。6。MutiquadNUMAsystem。 通常也需要多处理器,但它通常是关闭的。〔4〕、Generalsetup:常规内核选项 4。1。Networkingsupport。 内核在没有网络支持选项的情况下甚至无法编译。简而言之:一定要打开Networkingsupport选项。 4。2。PCIsupport。 现在的所有系统都使用PCI总线,所以你应该选择相关选项。 4。3。PCIaccessmode。 PCI存取模式。可供选择的有BIOS、Direct和Any,选Any吧。 4。4。Supportforhotpluggabeldevices。 热插拔设备支持。支持的不是太好,可不选。 4。5。PCMCIACardBPCMCIACardBussupport。 有PCMCIA就必选了。通常,台式机和服务器等用的网卡均不支持PCMCIA标准,PCMCIA是专门用在笔记本或PDA、数码相机等便携设备上的一种接口规范(总线结构)。也就是笔记本网卡通常都支持PCMCIA规范,而台式机网卡则不支持此规范。PCMCIA是英文PERSONALCOMPUTERMEMORYCARDINTERNATIONALASSOCIATION的缩写。 4。6。SystemVIPC。 如果将来想编译dosemu(DOS模拟器),则这个选项一定要选,它是一个让各个程序(process)同步且能彼此交换数据的函数库和一些系统的调用,没它,很多的程序将会无法执行。 4。7。BSDProcessAccounting。 BSD进程计数。 4。8。Sysctlsupport。 除非你的内存少的可怜,否则你应该启动这个功能,启用该选项后内核会大8K,但能让你直接改变内核的参数而不必重新开机。以上三项是有关进程处理IPC调用的,主要就是System V和BSD两种风格。如果你不是使用BSD,就按照缺省吧。 4。9。Kernelcore(prockcore)format。 现在的Linux发行版以ELF格式作为它们的内核核心格式。 4。10。KernelsupportforA。OUTbinaries:: aout的执行文件是比较古老的可执行码,用在比较早期的UNIX系统上。Linux最初也是使用这种码来执行程序,一直到ELF格式的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码。将来势必完全取代aout格式的可执行码。但目前由于沿有许多的程序还没有取代过来,所以只好选择Y,等将来有一天,全部的程序都变成了ELF的天下时,那时再disable掉。 4。11。PowerManagementsupport。 电源管理支持。 4。12。AdvancedPowerManagementBIOSsupport。 高级电源管理BIOS支持。这通常是用在笔记本电脑上的东西,如果您有APM的BIOS,支持省电的设备的(有电池的那种),那么您可以选上这项,一般人这一项是选n,以避免一些可能会发生的问题。后有8个选项。ATX主板需要这两个选项来自动关闭计算机(turnoffthecomputer,包括关闭电源)。〔5〕。MemoryTechnologyDevices(MTD):配置存储设备 5。1。MemoryTechnologyDevices(MTD)support。 你需要这个选项来使Linux可以读取闪存卡(FlashCard)之类的存储器。〔6〕。Parallelportsupport: 配置并口。如果不打算使用,就别选了。〔7〕。PlugandPlayconfiguration:即插即用支持 7。1。PlugandPlaysupport。 7。2。ISAPlugPlaysupport。 选项需要以即插即用模式运行的ISA卡(ISACard)。例如AWE64声卡。ISA总线(ISAbus)从来都没有即插即用标准,这增加了配置这些板卡的难度。〔8〕。Blockdevices:块设备支持。 8。1。NormalPCfloppydisksupport。普通PC软盘支持。可选择这个选项作为可加载模块。 8。2。XTharddisksupport。支持XT的古董硬盘。 8。3。Loopbackdevicesupport。 意思是说,可以将一个文件挂成一个文件系统。如果要烧光盘片的,那么您很有可能在把一个文件烧进去之前,看看这个文件是否符合IS09660的文件系统的内容,是否符合您的需求。而且,可以对这个文件系统加以保护。不过,如果您想做到这点的话,您必须有最新的mount程序,版本是在2。5X版以上的。而且如果您希望对这个文件系统加上保护,则您必须有des。1。tar。gz这个程序。注意:此处与网络无关。〔9〕。Multipledevicesdriversupport:多设备驱动支持 9。1。Multipledevicesdriversupport。 普通Linux用户通常不需要RAID(廉价冗余磁盘阵列)或者LVM支持。〔10〕。Networkingoptions:网络选项 10。1。PacketSocket。选择Y,你需要这个选项来与网卡进行通信而不需要在内核中实现网络协议。 10。2。TCPIPnetworking。选择Y,内核将支持TCPIP协议。 10。3。IP:multicasting。所谓的multicasting是群组广播,它是用在视频会议上的协议, 经验谈: a。我选择了Networkpacketfiltering(replacesipchains),因为我使用了SuSE的标准防火墙(StandardFirewall)。防火墙可以保护你的机器不受来自外部Internet的攻击至少当你正确配置了防火墙的时候是如此。内核级的防火墙保护显然是十分优越的。为了使防火墙能够正常工作,SuSELinux需要对ipchains的兼容支持(BackwardsSupport)。因此,我为我的SuSELinux打开了这个选项。如果你也在其他发行版中使用了防火墙,请参考它们的手册。你需要Unixdomainsockets来进行网络链接,但也可以使用其他的东西:XWindow要自动使用Unixsockets,所以如果没有打开这个选项,XWindow将无法启动。通常这个选项是打开的。TCPIPnetworking选项包括了Internet和内部网络所需要的协议。通常你会希望激活TCPIP支持。如果你不确定是否应该打开一个选项,参考一下帮助文档。如果你还是不知道是否应该打开它,一般来说,就把它打开,然后通过试用来决定是否保留。将某些特定的选项编译为模块也是一个很好的办法。〔11〕。TelephonySupport:电话支持 11。1。LinuxTelephonySupport。这个选项只有当你在计算机中使用电话卡的时候才有用,比如在Internet上打电话。〔12〕。ATAIDEMFMRLLsupport:配置对ATA,IDE,MFM和RLL的支持 12。1。ATAIDEMFMRLLsupport。几乎每个人都需要这些协议,除非你的机器只有SCSI硬盘而没有其他任何类型的硬盘。 12。2。EnhancedIDEMFMRLLdiskcdromtapefloppysupport。选项是每个使用IDEATAPI界面的人都需要的。包括硬盘,磁带机,ZIP盘,光驱(CDROM)和刻录机(CDR(W))。 12。3。IncludeIDEATA2DISKsupport。选项在支持硬盘的时候需要。其它的就使用缺省的选项吧,如果你使用了比较特殊的设备,比如PCMCIA等,就到里面自己找相应的选项吧。 经验谈: a。如果你有ATAPICDROM的话,应该打开includeIDEATAPICDROMsupport选项。ATAPI的CDR(W)需要仿真为SCSI的才能被访问。SCSI仿真可以用来访问CDROM和CDR(W)。如果你使用仿真SCSI的方式来访问CDROM,你将会遇到问题,比如当你挂载(mount)CD的时候出现错误信息(ErrorMessage),或者使用CDROM播放CD唱片(AudioCD)最好的办法是象图这样,将includeIDEATAPICDROMsupport和SCSIemulationsupport选项都打开。需要SCSI仿真的设备通常是CDR(W),可以在etclilo。conf中加入appendhddidescsi:行进行定义,这将在配置lilo中进行讨论。因为我有一个使用ATAPI界面的内置ZIP驱动器,所以我把includeIDEATAPIFLOPPYsupport选项打开。如果你有软盘类的驱动器(译者注:包括ZIP盘、LS120等大容软驱,但不包括MO磁光盘)。大部分主板使用PCIIDE(译者注:就是指通过占用PCI总线带宽进行通信的IDE接口)对硬盘、CDROM和软驱进行访问,因此这个选项必须打开。同样的有两种开启DMA的可能性。DMA使你的硬件直接访问内存,而不需要处理器的干预。因此,正如你所希望的,IDE磁盘的访问速度会加快。sharingPCIIDEinterruptssupport是关闭的,因为你通常不需要它。的确,某些IDE控制器允许和其他设备共享中断,比如网卡。不幸的是,共享IDE中断会使磁盘性能下降,因此通常你不需要共享中断,除非这是解决硬件问题的唯一办法。〔13〕。SCSIsupport:SCSI设备的支持 13。1。SCSIsupport。 13。2。SCSIdisksupport。指硬盘而言,如果有SCSI硬盘。 13。3。SCSItapesupport。指磁带机而言,如果您有SCSI的磁带机。 13。4。SCSICDROMsupport。指CDROM,如果您有SCSI光驱。 13。5。SCSIgenericsupport。指其他有关SCSI的东西,也许您有一台SCSI的扫描器或是烧录机,或是其他有关SCSI的配备,您就要选这一项。而且,除此之外,您还必须准备关于这些配备的软件。 13。6。Probea11LUNsoneachSCSIdevice。通常这个选项大部分的人都不会选。我们举个例子来说,如果您的SCSI光驱是那种多片装的,就是一台光驱,但可以一次放好几片光盘片的那种。这种我们叫做Lun。I2ODeviceSupport:配置I2O设备支持。 13。7。VerboseSCSIerrorreporting(kernelsize12K)。如果认为您的SCSI硬件配备有些问题,想了解一下它出现的错误信息。那么您可以把这个选项选y,Linux核心会告诉您有关于您的SCSI配备的问题(如果有的话)。不过,它会增加核心约12KB左右。 13。8。SCSIlowleveldrivers。下面总共有接近30张的SCSI卡,您可以依需求做选择SCSI卡牌子。〔14〕。I2ODeviceSupport:I20设备支持 14。1。I2ODeviceSupport。如果你有I2O界面,你必须选择这个选项。I2O,是英文IntelligentInputoutput的缩写,中文意思是智能输入输出,它是用于智能IO系统的标准接口。〔15〕。NetworkDeviceSupport:网络设备支持 15。1。NetworkDeviceSupport。网络设备支持。上面选好协议了,现在该选设备了,可想而知,内容肯定多得很。还好还好,里面大概分类了,有ARCnet设备、Ethernet(10or100Mbit)、Ethernet(1000Mbit)、WirelessLAN(nonhamradio)、TokenRingdevice、Waninterfaces、PCMCIAnetworkdevicesupport几大类。我用的是10100M的以太网,看来只需要选则这个了。还是10100M的以太网设备熟悉,内容虽然多,一眼就可以看到我所用的RealTeckRTL8139PCIFastEthernetAdaptersupport,为了免得麻烦,编译到内核里面好了,不选M了,选Y。耐心点,一般说来你都能找到自己用的网卡。如果没有,你只好自己到厂商那里去要驱动了。 15。2。Dummynetdriversupport。如果有SLIP或PPP的传输协议,那么要把这一项打开。因为一来它不会让您的Linux核心增大。二来,对某些应用程序来说,它可以让我们模拟出来的TCPIP环境更像TCPIP环境。如果您没有SLIP或PPP协议,就不用打开了。EQL(seriallineloadbalancing)support如果有两个MODEM,两条电话线而且用SLIP或PPP协议,可以用这个Driver以便让您的MODEM有两倍的速度。当然,在网络的另一端也要有同样的设备。 15。3。PPP(pointtopoint)support。点对点协议,近年来,PPP协议已经慢慢的取代SLIP的规定了。 15。4。SLIP(serialline)support。这是MODEM族常用的一种通讯协议,必须通过一台Server(叫ISP)获取一个IP地址,然后利用这个IP地址,可以模拟以太网络,使用有关TCPIP的程序。 15。5。1。Ethernet(10or100Mbit)。 15。5。2。EISA,VLB,PCIandonboardcontrollers。选择网络卡,包括直接附在主机板上的那种。 15。5。3。Pocketandportableadaptors。通常用在可携式的电脑上,这类型的网络卡(口袋型的),由于体积很小在安装和取下方面很方便,因此笔记本相关电脑上便常常采用这种网络卡。 15。5。4。TokenRingdriversupport。TokenRing是IBM电脑上的网络。它叫令牌环网络,和以太网络是很类似的东西。 15。5。5。ARCnetsupport。这也是一种网络卡,通常一般人用不到,所以选n。 经验谈:这一般是新手难办的一个地方。a。我从来都没有在没有网卡支持的情况下将Linux内核编译成功过。因此,你应该打开这个选项。你还应该打开虚拟驱动(DummyDriver),作为内核的一部分或者一个可加载模块。当没有物理网卡的时候,Linux需要一块虚拟网卡(DummyNetwork)。即使已经有了物理网卡,Linux仍然经常使用虚拟网卡。在图所示的菜单中,你可以选择网络类型和网卡。注意,如果你想要通过modem来访问Internet的话,你需要进行更多的设置:你必须打开PPPsupportforasyncserialports(用于COM端口)或者PPPsupportforsyncttyports(用于通过诸如SyncLinkadapter进行的高速连接)选项以提供PPP支持。如果你没有打开它们,内核将会告诉你PPP模块(PPPModule)不存在即使你已经编译了,错误信息(ErrorMessage)对于查找真正问题的所在几乎没有作用。你可以将它们都选上,这样可以避免一些问题:如果内核需要它们,就会使用它们,如果不需要,就不用。〔16〕。AmateurRadiosupport:配置业余广播支持 16。1。AmateurRadiosupport。〔17〕。IrDA(infrared)support:配置红外线(无线)通讯支持 17。1。IrDA(infrared)support。用于支持无线设备,比如无线鼠标或无线键盘。〔18〕。ISDNsubsystem:配置ISDN 18。1。ISDNsupport。ISDN上网支持〔19〕。OldCDROMdrivers(notSCSI、notIDE):配置老CDROM 在486和386机器中,CDROM并不是通过硬盘IDE(ATAPI)控制器连接的,而是通过声卡或一块特殊的板卡。使用这些老CDROM需要选择对应的驱动。这个选项在现在的系统中显得多余。〔20〕。InputCoreSupport:这个选项提供了2。4。x内核中最重要的特性之一的USB支持 Inputcoresupport是处于内核与一些USB设备之间的层(Layer)。如果你拥有其中一种USB设备,你必须打开inputcoresupport选项。现在所有的主板都有USB接口,所以,原则上你应该打开它。〔21〕。Characterdevices:字符设备 21。1。Virtualterminal。支持虚拟终端。 21。2。Supportforconsoleonvirtualterminal。内核可将一个虚拟终端用作系统控制台。 21。3。Standardgeneric(dumb)serialsupport。内核将支持串行口。标准序列接口的选定。如果您是用serial的鼠标(大部分的人都是用这个),或是MODEM的话,则这一项一定要选。大部分的人这一项都选y。 21。4。Supportforconsoleonserialport。选择y,内核可将一个串行口用作系统控制台。 21。5。I2Csupport。I2C是Philips极力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面的VideoForLinux,该项必选。 21。6。Mice。鼠标。现在可以支持总线、串口、PS2、CT82C710mouseport、PC110digitizerpad根据需要选择。非串行的鼠标,支持象PS2。看一看你鼠标的键。许多双键鼠标是PS2,即使它们的连接看起来象串行的。 21。6。1。PS2mouse(akaauxiliarydevice)support。如果用户使用的是PS2鼠标,则该选项应该选择y。 21。7。Joysticks。手柄。即使在Linux下把手柄驱动起来意义也不是太大,游戏太少了。 21。8。WatchdogCards。虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中,那么就会在你的dev下创建一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统重新启动的1分钟左右。有了这个文件,你就可以恢复系统到重启前的状态了。 经验谈:a。最上面的选项(virtualterminal)允许在XWindow中打开xterm和使用字符界面登录。通常这个选项是打开的。第二个选项(supportforconsoleonvirtualterminal)告诉内核将诸如模块错误、内核错误启动信息之类的警告信息发送到什么地方,在XWindow下,通常设置一个专门的窗口来接收内核信息,但是在字符界面下,这些信息通常被发送到第一个虚拟终端(VirtualTerminal)(CTRLALTF1)。将这个选项打开。你还可以选择将信息发送到串口(SerialPort)设备,比如打印机或其他的终端(第四个选项)。如果将信息发送到打印机,你还必须使用选项三激活串口。同样,如果你使用串口鼠标(SerialMouse),你也必须激活串口。再说一遍,选项三(standardgeneric(825016550andcompatibleUARTs)serialsupport)通常是打开的。在我的系统中,我将它编译为一个可加载模块。原因是在启动的时候SuSE老抱怨serialsupport丢失,而如果确定模块的确存在,将其编译为可加载模块是避免上述抱怨的的好办法。配置字符型设备是极为重要的工作。如果你的配置不正确,你有可能得到一个根本不能工作的系统。如果你想使用远程使用自己机器上的xterm,比如通过telnet或者ssh,你必须打开unix98PTYsupport选项。桌面系统看上去似乎不需要这个选项,但是许多后台进程需要使用这个选项。因此,无论如何,将它打开是个好主意,至少可以避免启动时显示错误信息(至少SuSE是这样)。所有拥有并口打印机的人当然需要Parallelprintersupport。不过,并不是所有人都需要并口:USB打印机就不需要。内核信息可以通过打开Supportforconsoleonlineprinter选项传送到并口:通常,你并不需要它。如果你有某些设备需要占用并口,你需要supportforuserspaceparallelportdevicedrivers选项,但是通常不必。同样,你通常不需要I2Csupport选项:这是视频处理卡所需要的,但是如果你发现你需要它,你通常可以在以后加入到内核中只要你觉得内核运行得好。如果你使用鼠标和游戏杆,你需要打开相应的支持,但是并不是所有鼠标都使用这个驱动。现在的CDR(W)使需要QIC02Tapesupport的磁带机(TapeDrives)大量闲置,因此这个选项通常是关闭的。如果你使用串口鼠标,你根本不需要这个选项的任何项目,但是所有其他类型的鼠标则需要在这里进行参数配置。如果你使用最初的总线鼠标(ORIGINALBusMouse)你需要打开最上面的选项。现在的许多计算机使用另外一种鼠标,通常(而且是错误的)称作busmouse或者PS2鼠标。这些鼠标通常连接到devaux,并且插在一个与键盘相同的小接口中。通常,这种鼠标通过键盘来连接到计算机。 要让这些鼠标正常工作,你必须打开如图29所示的选项,mousesupport(notserialandbusmice)和PS2mouse(akaauxiliarydevicesupport)。这些是上面没有讨论的内核选项。它们通常是关闭的。Ftape,thefloppytapedevicedriver选项需要对连接到软驱控制器的磁带机的支持。甚至即使你有一个那样的磁带机,这个选项都不是必须的,至少不是首要的。其他选项需要3D显卡。如果你有一块连接到AGP总线(AGPBus)的显卡,你需要打开AGP支持,还需要相应的驱动(在devagpgart(AGP支持))。注意,你可以编译一个不包含这些选项,但是能够正常工作的内核,但那没必要!如果没有这些选项,XWindow4。0或者更高版本(被现在的多数发行版使用)将无法工作。我的机器有一块AGP显卡,nVidiaTNT2,但是内核的相应模块并不支持这块显卡(nVidia拒绝透露开发驱动所必须的技术细节)。很不幸,打开AGP支持对于我来说没有多大意义。虽然有这个问题,我仍然可以在不需要内核驱动的情况下使用XWindow4。0。Directrenderingsupport是为XWindow4。0提供的图形加速选项。要想使用这个选项,你的显卡必须能够被支持,而且你必须使用XFree864。0及以上版本。另外,你还需要打开AGPsupport选项。你可以编译一个不包含这些选项的内核,它照样可以正常工作。〔22〕。MultimediaDevices:配置多媒体设备 如果你有一块视频处理卡或者广播卡,需要打开这个选项跟前面一样,这个选项不是必需的。〔23〕。FileSystem:配置文件系统 23。1。Kernelautomountersupport。内核将提供对automounter的支持,使系统在启动时自动mount远程文件系统。 23。2。DOSFATfs。DOSFAT文件格式的支持,可以支持FAT16、FAT32。这个选项是DOS的文件系统,如果您没有选y,则下面的MSDOS,VFAT,umsdos将不会出现。 23。3。MSDOSfssupport。如果你想要在linux下使用你硬盘中的MSDOS分割区,或是想将用MSDOS格式化的磁盘挂进来的话,回答y。 23。4。FAT(Windows95)fssupport。windows95所支持的文件系统,是我们常说的vfat文件系统,如果您的系统中装有windows95,那么选择这个文件系统将对以让您看到windows95的长文件名。 23。5。umsdos:UNIXlikefsontopofstdMSDOSFATfs。如果把Linux装进DOS的一个目录下那么您则要选择这一项。不建议这样做,因为如此一来,就不能看到长文件名了。而且效率上不是很好。 23。6。Quotasupport。Quota可以限制每个用户可以使用的硬盘空间的上限,在多用户共同使用一台主机的情况中十分有效。 23。7。procfilesystemsupport。这是最slick的文件系统之一。它不是你硬盘分割区里的任何东西,不占用硬盘的空间,而是核心与程序之间的文件系统介面,它表示的只是内存里头的状况和各个程序执行的情形,它也记录了您硬件上配备许多程序工具(像ps)都会用到它。如果已经将它安装好了,有空不妨试试看catprocmeminfo或者是catprocdevices。有些shells,像是rc,会用procselffd(在其它系统上为devfd)来处理输出入。几乎可以确定你在这里得要回答y,有许多重要的Linux标准工具是靠它来运作的,否则有些指令会出问题。 23。8。ISO9660CDROMfilesystemsupport。光盘使用的就是ISO9660的文件格式。 23。9。NTFSfilesystemsupport。ntfs是NT使用的文件格式。 23。10。UFSfilesystemsupport。这是BSD,SunoS,FreeBSD,NetBSD或Nextstep所使用的文件系统。如果您在电脑上有这些操作系统的话,那么可以选这一项。否则一般人都选n。 23。11。NetworkFileSystems:网络文件系统。 23。11。1。NFSfilesystemsupport。如果你在网络环境下而且想要分享档案,回答y,如果希望挂上别的电脑的文件系统,那么这个选项一定要选进去。它可以让您利用网络把别人的硬盘当成自己的来使用(把它变成一个目录)。对于一般人来说,这个选项是选y。 23。11。2。SMBfilesystemsupport。这个文件系统让您可以挂上windows95或windowsNT的文件系统,也就是您也可以抓到在windows下,网上邻居上的电脑。 23。12。PartitionTypes。分区类型,该选项支持一些不太常用的分区类型,用户如果需要,在相应的选项上选择y即可。 23。13。NativeLanguageSupport:本地语言支持。 经验谈:a。在这里,你可以指定Linux能够访问的文件系统。或许你希望制作一个能够访问Windows分区和Windows软盘的内核,但是你必须保证内核可以访问Linux自己的ext2文件系统,或者是更新的ReiserFS文件系统。如果你没有这样做,Linux会无法启动,因为内核无法读取它自己的启动盘。要想访问DOSWindows软盘和分区,你需要打开DOSFATsupport选项:但是要想访问WindowsNT2000的分区,你需要另外一个只读(Readonly)驱动,这将在后面进行选择。要想读写DOSWindows分区和软盘,你需要打开MSDOSfssupport选项(注意,DOSFATsupport并不提供读写功能)。事实上,每个人都希望这样,因此通常这个选项是开着的。VFAT需要Windows9598的长文件名支持。我的机器是一个可以通过lilo启动Windows98和Linux的双重启动系统(dualbootsystem)。因此,我需要激活VFAT。你需要加入对ISO9660的支持来读取标准格式的光盘(CD)。Jolietextensions选项允许在ISO9660标准中使用长文件名。多数人都希望能够读取现在的光盘,因此这些选项通常也是打开的。 图详细讲述了一些附加选项,其中包括包括Linux的ext2文件系统。 proc目录中的文件包含了关于系统状态的许多重要信息,比如那些中断正在使用。一般来说,你应该把这个选项(procfilesystemsupport)打开。Secondextendedfssupport选项针对Linux的标准文件系统(Ext2FS)你必须打开这个选项,并且编译进内核(不是作为可加载模块)!图32和33没有显示ReiserFS选项,它也可以在这里打开:Ext2文件系统的继承者,ReiserFS能够更好的对付由于断电或者类似情况而带来的对文件系统的破坏。目前ReiserFS仍然处于开发阶段,因此被标志为试验代码。即使是这样,多数发行版现在都已经支持ReiserFS,但是,虽然ReiserFS被认为会在将来取代Ext2,我现在并不推荐将它作为所有分区的文件系统。如果你(在Windows下)使用一个叫packetCD的将光盘虚拟成低速磁盘的软件,你需要打开UDFfilesystemsupport选项这对在与其他PC交换数据时十分方便。在Linux下通过将这些被封包的光盘挂载(mount)为UDF文件系统也可以进行读取,比如使用命令mounttudfdevscd0cdrom。这一部分还包括Networkfilesystems、partitiontypes和Nativelanguagesupport选项。你不必选择Networkfilesystems,除非你的计算机处于一个需要使用Networkfilesystems选项的大型网络之中,SMBfilesupport选项也是一样,对于普通的单机(StandaloneComputer)来说,并不需要这些选项。PartitionTypes选项是一个很高级但对于有效的使用Linux内核来说并不必要的选项。最好是关闭它。 b。不知道需要那些文件系统怎末办? 键入mount它看起来会像这样: sunlyymount devhda1ontypeext2(defaults) devhda3onusrtypeext2(defaults) noneonproctypeproc(defaults) devfd0onmnttypemsdos(defaults) 仔细看看每一行;在type后面的那个字就是文件系统的格式。在这个例子中,我的和usr分割区是secondextended格式,我使用proc,而且挂有一张以msdos(bleah)为文件系统格式的磁片。如果你有使用proc,可以试试cat procfilesystems。它会给你一份目前使用的核心所支援的文件系统列表。〔24〕。Consoledrivers:配置控制台驱动。 24。1。VGAtextconsole。选项在VGA模式下启动字符模式。多数人都需要它。 24。2。videomodeselectionsupport。使启动的时候能够使用字符模式的分辨率。如果你希望一行能够有更多的字的话,这通常会给你提供方便,不过通常你不必打开它们。下面两个选项是试验性质的,我建议你关闭它们。 25。Soundsound:声卡驱动。在这部分,你可以配置声卡。如果你的Linux发行版使用ALSA的声卡驱动(比如SuSE6。3及以上版本),将soundcardsupport作为可加载模块就足够了。 ALSA驱动将会在待会儿被编译并连接进来(见SuSE和ALSA声卡驱动)。如果你的发行版使用的是内核的标准声卡驱动,你必须正确选择你使用的声卡。事实上,这里列出了所有牌子的声卡,因此,理论上选择声卡不成问题。如果你的声卡在你的发行版的标准内核下工作的很正常,你也可以使用配置程序(比如SuSE的yast2)来找出你的声卡使用什么驱动。请放心,声卡并不是十分关键的:如果某些地方出错,你将会失去音效,但是内核仍然可以正常工作。〔26〕。USBsupport:配置USB支持