kernel配置.docx
- 文档编号:17656242
- 上传时间:2023-04-24
- 格式:DOCX
- 页数:39
- 大小:41.18KB
kernel配置.docx
《kernel配置.docx》由会员分享,可在线阅读,更多相关《kernel配置.docx(39页珍藏版)》请在冰豆网上搜索。
kernel配置
选择相应的配置时,有三种选择,它们分别代表的含义如下:
Y--将该功能编译进内核
N--不将该功能编译进内核
M--将该功能编译成可以在需要时动态插入到内核中的模块
在每一个选项前都有个括号,但有的是中括号有的是尖括号,还有一种圆括号。
用空格
键选择时可以发现,中括号里要么是空,要么是"*",而尖括号里可以是空,"*"和"M"。
这表示前者对应的项要么不要,要么编译到内核里;后者则多一样选择,可以编译成模
块。
而圆括号的内容是要在所提供的几个选项中选择一项。
在编译内核的过程中,最烦杂的事情就是这步配置工作了,不清楚到底该如何选取这些
选项。
实际上在配置时,大部分选项可以使用其缺省值,只有小部分需要根据用户不同
的需要选择。
选择的原则是将与内核其它部分关系较远且不经常使用的部分功能代码编
译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的
环境改变时对内核的影响;不需要的功能就不要选;与内核关心紧密而且经常使用的部
分功能代码直接编译到内核中。
下面对选项分别加以介绍。
1.Codematurityleveloptions代码成熟等级
此处只有一项:
promptfordevelopmentand/orincompletecode/drivers,如果要试
验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可
以把它选择为N。
在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的
核心。
但是有些driver还没进入稳定的阶段。
但其作者很欢迎其他人去测试这些driver
并提出一些bugs。
这个问题是说,有一些drive还在做测试中,问您是否要选择这些dri
ve或支持的程序码。
如果键入Y,往后将会出现一些还在测试中的东西给您做选择。
(像Java的程序码和PCI
bridge),台则就键入N。
2.Processortypeandfeatures处理器类型和特色
#Processorfamily(386,486/Cx486,586/K5/5x86/6x86,Pentium/K6/TSC,PPro/6x8
6MX)[PPro/6x86MX]------选择处理器类型,缺省为Ppro/6x86MX。
它会对每种CPU做最
佳化,让它跑得快又好。
一般来说,没有选择正确的CPU并不会有重大的影响(特别是选
择386,这样编译出来的核心也许会比较小但它的速度可能就会变慢了)。
所以,最好
要知道您的CPU是哪一种。
不过,如果您的gCC编译器是2.7.0版以前的。
那么只能选择3
86或是486。
#HighMemorySupport------内核支持的最大内存数,缺省为1G。
可以支持到4G、6.4G
,一般可以不选.
#Mathemulation------这项询问是否需L1nux核心模拟数学浮点运算器。
如果有486Dx、
AMD以及Pentium机器的话,这个选项就不必选了,因为它们都有内建的浮点运算器。
协
处理器是在386时代的宠儿,现在早已不用了。
不过,对于有内建浮点运算器的人来说,
选了这个选项并不会因此让内建的浮点运算器失效。
但它会增大核心约45KB。
#MTTR(memorytyperangeregister)support------选择该选项,系统将生成/proc
/mtrr文件对MTRR进行管理,供Xserver使用。
同时用来启动pentinumpro和pentinum
II的特殊功能,如果你用的不是这类CPU就选N,否则也仅仅是使内核变大而已。
#Symmetricmulti-processingsupport------对称多处理支持。
除非有多个CPU,否则
就不用选了。
3.Loadablemodulesupport对模块的支持.
首先,了解一点关于模块的知识。
模块就像你特意插入核心中的某些东西,如果办公室
有一个小网络并且有时想用一下(但并不经常),也许你想把网卡编译成一个模块。
使用
这个模块,机器必运行和存取/libs下的模块,意思是驱动程序(IDE,SCSI等但必须是NF
S支持的网卡),文件系统(通常是ext2但也可以是nfs)和核心类型(最好是elf)必须编译
在内核并且不能是模块,模块只有核心引导时才起作用,驱动程序(来网络)的存取,和
文件系统安装。
这些文件必须编译在核心内否则将能安装启动分区。
如果安装启动分区
和网络,你需要网络系统文件,和己经编译的网卡。
为什么要使用模块?
模块化使核心
变的更简捷,它减少核心释放大量的受保护的空间。
模块的安装和卸载使用的空间是可
重复分配利用的。
如果你打开机器有90%以上的时间用到一个模块,编译它。
运用这类模
块是浪费内存的,原因是一旦你编译了模块它们同样将占用大量的内存,核心需要一些
代码来挂上模块。
记住,核心在保护空间运行,但模块并不是。
这么说,并不经常使用
我的设备,把它编译成只支持ext2,ide和elf。
而一直使用的网卡,把其它的编译成模块
:
如a.out,java,floppy,iso9960,msdos,minix,vfat,smb,nfs,smcultra(ethern
etcard),serial,printer,sound,ppp,等等。
它们许多只是在这或那用上那么几分钟。
严
格的说,这样做会使核心增大许多而降低它的执行速度。
这时我们就可以把这些可能会用
的驱动程序编译成一个—个的模块,在需要用的时候才用insmod这个指令加入核心,不
用的时候也能rmmod把它从核心移除,或是用lsmod察看目前所载入的模块。
这里面有三
项:
#Enableloadablemodulesupport------除非准备把所有需要的内容都编译到内核里面
,否则该项应该是必选的。
#Setversioninformationonallmodulesymbols------通常,我们更新核心版本之
后,模块耍重新的编译。
这个选项使您不必更新编译模块而能使用以前的模块。
可以不
选它。
但如果您选y,则按照它的说明,您必须有genksyms这个程序(可用whereis指令
查看有无此程序)。
#Kernelmoduleloader------让内核在启动时有自己装入必需模块的能力,建议选上。
注意:
在开机就会mount上来的partition的FS、devicedriver记得要compile
r进kernel,不能把它弄成modules。
请不要夸张到为了完全模组化而忘了把ext2fs和
IDEdirvercompiler进kernel里。
4.Generalsetup普通的属性设置
这部分内容非常多,一般使用缺省设置就可以了。
下面介绍一下经常使用的一些选项:
#Networkingsupport------网络支持。
因为在Linux里面,有虚拟的网络设备(1ookbac
k),可以模拟整个网络。
而且,—些程序需要它。
必须,没有网卡也建议你选上。
注意
:
选N,则7.(Networkingoptions网络选项)和11.(Networkdevicesupport网络设备
支持)不会出现。
#Limitmemorytolow16MB------大部分的人这一选项N。
除了主机板没有办法处理
16MB以上的内存,或者有超过16MB以上的内存但却常常发生一些很奇怪的问题。
这时,
您可以试试这个选项。
有些主机板对超16MB内存的处理并不是很好,通常这些都是旧型
的主机板。
还有,在说明文件中有提到,如果内存超过64MB的话,用LILO加一些参数给
Linux核心(例:
mem=80M),并且把您主机板上的Cache加到512K。
这样,整体效率才能
提升。
#PCIsupport------PCI支持。
如果使用了PCI的卡,当然必选。
#PCIbiossupport------主机板是否有PCI界面。
如果有,则您必须回答y。
PCI是586电脑的主要界面(一些486主机板上也有),这个界面能让您插入所谓的PCI显
示卡,或是PCI的网络卡等。
这种界面是现在电脑的主要趋势,因此如果有PCI的插槽。
您就可以选Y。
除了一些很旧很旧但有支持PCI的主机板外(这些有bugs的旧型主机板可
能会因为这个选项而让核心挂掉)。
#PCIaccessmode(BIOS,Direct,Any)[Any]------设置Linux探测PCI设备的方式。
选择“BIOS”,Linux将使用BIOS;选择“Direct”,Linux将不通过BIOS;选择“Any”
,Linux将直接探测PCI设备,如果失败,再使用BIOS。
#Supportforhot-pluggabeldevices------热插拔设备支持。
支持的不是太好,可不
选。
#PCMCIA/CardBussupport------PCMCIA/CardBus支持。
有PCMCIA就必选了。
#PCIbridgeoptimization(experimental)------在某些支持BIOS上,它能让存取速
度加快,建议是选Y。
#Backward-compatible/proc/pci------设备兼容,自己看help。
#SystemVIPC如果将来想编译dosemu(DOS模拟器),则这个选项一定要选,它是一个
让各个程序(process)同步且能彼此交换数据的函数库和一些系统的调用,没它,很多
的程序将会无法执行。
#BSDProcessAccounting------
#Sysctlsupport------除非你的内存少的可怜,否则你应该启动这个功能,启用该选项
后内核会大8K,但能让你直接改变内核的参数而不必重新开机。
#KernelsupportforA.OUTbinaries------a.out的执行文件是比较古老的可执行码
,用在比较早期的UNIX系统上。
Linux最初也是使用这种码来执行程序,一直到ELF格式
的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码。
将
来势必完全取代a.out格式的可执行码。
但目前由于沿有许多的程序还没有取代过来,
所以只好选择Y,等将来有一天,全部的程序都变成了ELF的天下时,那时再disable掉。
#KernelsupportforLinux/IntelELFbinaries------由上所述,这个当然y哩,因
为目前gcc-2.7.0以上的都有支持ELF了,如果没有选择这一项,可能会使用相当多的程
序因此无法执行。
注意:
编译模块成ELF和编译支持ELF二进制。
不编译适当的支持’’gotcha’’是明智
的,如果机器结构是Pentium或486你将得到高效的代码,但一个386的核心将运行在32-
bitcompatibleclone;一个Pentium核心将不。
为大多机器制作一张紧急启动盘,最好
在386下编译,而386并不能运行在Pentium下编译的核心。
另外一点要注意的,你不能同时把a.out和ELF支援编译成modules,否则当你为了
能够使用insmod而用insmod来载入a.out/ELFmodules时会有Catch/22状况发生
。
如果你的系统主要是ELF而你偶尔会需要用到a.out,你可以把a.out支援编译为
modules,否则你最好把它直接放入kernel之中。
如果你还没进入ELF的世纪,在c
ompilerkernel时可以直接把ELF支援去掉。
#KernelsupportforJAVAbinaries------这一项是正在做测试中的产品,但是如果
想写有关Java的程序,希望它能在Linux的机器上跑。
那么,可以选择把它编成一个模块
或是直接把它编进核心里。
#PowerManagementsupport------电源管理支持。
##AdvancedPowerManagementBIOSsupport------高级电源管理BIOS支持。
这通常是
用在笔记本电脑上的东西,如果您有APM的BIOS,支持省电的设备的(有电池的那种),
那么您可以选上这项,一般人这一项是选n,以避免一些可能会发生的问题。
后有8个选
项。
#Parallelportsupport------串口支持。
5.PlugandPlayconfiguration即插即用支持
Linux对即插即用目前支持的不如Windows,好有些情况下会和其他设备产生冲突(I/O,
DMA,IRQ等)。
这个选项对PCI设备没有影响,因为他们天生就是PNP设备。
。
#PlugandPlaysupport(CONFIG_PNP)------选择“y”,内核将自动配置即插即用
设备。
原来PNP还有这个意思。
#ISAPlugandPlaysupport------选择“y”,内核将自动配置基于ISA总线的即插
即用设备。
6.Blockdevices块设备支持
这个就得针对自己的设备情况来选了:
#NormalPCfloppydisksupport(CONFIG_BLK_DEV_FD)[Y/m/n/?
]------普通PC软盘
支持。
#EnhancedIDE/MFM/RLLdisk/cdrom/tape/floppysupport------选择“y”,内核将
提供对增强IDE硬盘、CDROM和磁带机的支持。
在硬盘没有做得很大的时候,一般的IDE
卡和BIOS只能支持小于540MB的硬盘。
不但如此,那时也只能支持二颗硬盘。
但现今
的硬盘动不动就是1GB以上,今年主流是30~50G,而且常常都会超过一二颗硬盘。
如此一
来,新的主机板就开始支持加强型的IDE界而(EnhancedIDE),以支持到540MB以上的
硬盘。
所以,如果您的IDE界面是Enhanced的,请您选Y,底下就会出现八部分IDE界面的
选项,这些选项能加快您的IDE界面的速度和对某些芯片做一些最佳化。
但如果您的硬盘
或光盘全都是SCSI界面的,那么选N以跳过下面选项。
#useolddisk-onlydriveronprimaryinterface------通常是选择N。
因为我们有其
他新的drivers可用。
这个选项的意思是说,如果您的IDE界面是很旧很旧的那种的。
那
么,就可以使用这个drives驱动那个旧型的IDE界面(可装二台硬盘;或是一台硬盘,
一台光盘)。
而现今流行的EnhancedIDE则有两个界面,共可以接四台硬盘。
我们稍后
会有driver支持它。
#IncludeIDE/ATAPICDROMsupport------如果希望核心支持IDE/ATAPI界而的光驱,
选择Y。
如果有光驱,但它附有一张接口卡,必须把排线接到那张专属接口卡上;或者是
接到声卡上的,则这个选项也需要选N,稍后我们会有非IDE的光驱厂牌让我们挑选。
现
今的光驱通常是IDE/ATAPI界而的,所以这个选项通常是Y。
#SupportremovableIDEinterfaces(PCMCIA)------这个选项对大部分的人全选n,
除非您有PCMCIA的东西,这通常是笔记本电脑上看得到的东西。
PCMCIA是一个组织,在
以前是设计内存条的。
但现在他们对于PCCARDS定了一个标排,并很广泛的应用在1apt
ap的电脑上。
不但有所谓的PCMCIA的硬盘,甚至有网络卡、SCSI卡等,不过,大部分的
人并不需要这个选项。
这个选项选完后,以下则是Linux核心对几种芯片的IDE界面做修正或是加强它。
#CMD640chipsetbugfix/support------很多486和586的主机板都是用CMD640的芯
片,它是Neptune芯片和SIS芯片的结合。
不过,这种芯片有它的缺点,在许多的情形下
,它会造成数据的流失和错误。
如果您选了这一项,则Linux核心会为您小心的寻找这些
错误并修正它。
而且,它会打开对二个IDE界面的支持。
不过,在它的说明文件中提到,
如果您的主机板没有PCI界面只有VESA总线界面却希望有这项功能的话,则您必须传一些
参数给核心(ideo=cmd640_vlb)。
如果不确定上面所说的,选择Y。
#CMD640enhancedsupport------一般来说,对于硬盘的存取速度来说,有所谓的PIO
MODES值设定,现今的IDE界面及BIOS应该都能侦测到正确的硬盘PIOMODE值了。
此值
愈高表示硬盘的存取的速度愈快。
可是,有些主机板的B10S还是旧式的,不能抓到比较
高的PIOMODE值,如此一来,便不能发挥整台硬盘的效率。
这个设定告诉读者说:
如果
您的IDE界面是CMD640为基础的界面,但是您的BIOS并不能抓到正确的PIOMODE值,那么
,这个选项可以自动的找到硬盘正确的PIOMODE值。
#RZ1000chipsetbugfix/support------这个选项如同前面的CMD640一样。
不过,它的
芯片是RZ1000的芯片,这种芯片是以Neptune芯片为主的一种芯片,而目、有很多的486
和586的主机板都在使用它。
可以查查主机板的说明书或是IDE接口卡的说明书做确定
。
文件上提到,选择这个将会降低一些速度,但是数据能百分之百的正确。
#Intel82371PIIX(TritonI/II)DMAsupport------对于586的Pentium电脑来说,
有相当多的主机板都是用Intel的Triton芯片,使用这种芯片的最大好处是支持直接内存
存取DMA,而节省您的CPU时间。
在以往还没有DMA这个东西时,读取硬盘需要耗用许多的
CPU时间。
如此一来,CPU被占用,就不能充分的发挥它的功效。
后来,DMA出来后,硬盘
的读取便靠Triton或其他有支持DMA的IDE界面的芯片,直接与它们做沟通,而节省了大
量的CPU时间,但这必须您的硬盘和主机板有同时支持DMA的IDE界面的芯片,直接与
它们做沟通而节省了大量的CPU时间。
但这必须您的硬盘和主机板有同时支持DMAMODE
才行。
##otherIDEchipsetsupport------
如果这上选项选y,则会出现下列六种其他的芯片或厂牌供您选择。
*NOte:
mostofthesealsorequirespecialkernelbootparaaeters
ALIM14xxsupport
DTC-2278support
HoltekHT65608support
PROMISEDC4030support
QDIQD6580support
UMC8672support
上面这六种厂牌的芯片依硬件配备而使用,但它们有共同的特点就是必须传一些参数给
核心。
如果找不到您的芯片,那么也没关系。
上这些选项只不过对这些芯片做最佳化罢
了。
##AdditionalBlockDevices其他的块设备
#Loopbackdevicesupport------大部分的人这一个选项都选N,因为没有必要。
这个选
项的意思是说,可以将一个文件挂成一个文件系统。
如果要烧光盘片的,那么您很有可
能在把一个文件烧进去之前,看看这个文件是否符合IS09660的文件系统的内容,是否符
合您的需求。
而且,可以对这个文件系统加以保护。
不过,如果您想做到这点的话,您
必须有最新的mount程序,版本是在2.5X版以上的。
而且如果您希望对这个文件系统加上
保护,则您必须有des.1.tar.gz这个程序。
注意:
此处与网络无关。
#Multlnledevicesdriversupport------这个选项可以让把整个硬盘分区变成一个单
独的区块设备,您必须有md035.tgz这个程序。
而且在做这件事之前请将您的硬盘备份
,因为它尚在测试阶段。
一般人对这个选项是选N。
#RAMdisksupport------如果使用过DOS下的ramdrive程序,应该能了解这个选项的意
义。
它可以把内存当成硬盘来做存取就如同一般的硬盘一样,可以format它,或是放一
些文件在里头。
然后,当您关机这些数据也随着之而去了。
如果的RAM够大,可以考虑玩
玩这选项,但一般人都不需要。
#XTharddisksupport------支持XT的古董硬盘,这是IBM电脑时代的东西,如果您还
有这种很旧很旧的硬盘。
那么,您可以把它编进核心或是编成一个模块。
大部分的人这
个选项都是选择N的。
#CompaqSMART2support------
#MulexDAC960/DAC1100PCIRAIDControllersupport------RAID镜像用的。
#Logicalvolumemanager(LVM)support------逻辑卷管理支持。
#Multipledevicesdriversupport------多设备驱动支持。
#RAMdisksupport------RAM盘支持。
7.Networkingoptions网络选项
这里配置的是网络协议。
#Packetsocket------选择“Y”,一些应用程序将使用Packet协议直接同网络设备通
讯,而不通过内核中的其它中介协议。
#Kernel/UserNetworklinkdriver------这个是在测试中的程序码,一般人不需要用
。
依它的说明,它允许在核心、模块或程序间的某些部分间,彼此做双向的沟通。
如果
想使用arpd,则这个程序码就要加进核心里。
#TCP/IPnetworking------选择“Y”,内核将支持TCP/IP协议。
这个选项无论如何请您
选择Y,即使没有网络卡,或是没有连到网络上的设备,在linux上仍有所谓的lookback
设备而且有些程序需要这个选项。
在说明文件中提到,如果您没有打开这个设定,则X-
windowsystem可能会有问题(回为它也需要TCP/IP)。
#Networkfirewalls------选择“Y”,内核将支持防火墙。
Firewalls依英文看是防火
墙。
在网络愈来愈发达的今天,网络安全的考虑也愈来愈重要了。
在局域网上找一台电
脑来保护自己的考虑也愈来愈多了。
可以在一局域网上找一台电脑来保护自己区域内的
电脑。
这样的结果是,所有外部的电脑如果要连进内部的电脑就必须通过这台装有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- kernel 配置