转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
LINUX KERNEL 配置编译中文指南(转贴!)         ★★★★

LINUX KERNEL 配置编译中文指南(转贴!)

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1644 更新时间:2009/4/22 23:08:47
By Wing, 出处:玉玉安

  1.Code maturity level options代码成熟等级

  此处只有一项:prompt for development and/or incomplete code/drivers,如果要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。 在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的核心。但是有些driver还没进入稳定的阶段。但其作者很欢迎其他人去测试这些driver并提出一些bugs。这个问题是说,有一些drive还在做测试中,问您是否要选择这些drive或支持的程序码。

  如果键入Y,往后将会出现一些还在测试中的东西给您做选择。(像Java的程序码和PCI bridge),台则就键入N。

  2. Processor type and features处理器类型和特色

  #Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC,PPro/6x86MX) [PPro/6x86MX] ------选择处理器类型,缺省为Ppro/6x86MX。它会对每种CPU做最佳化,让它跑得快又好。一般来说,没有选择正确的CPU并不会有重大的影响(特别是选择386 ,这样编译出来的核心也许会比较小但它的速度可能就会变慢了)。所以,最好要知道您的CPU是哪一种。不过,如果您的gCC编译器是2.7.0版以前的。那么只能选择386或是486。

  #High Memory Support------内核支持的最大内存数,缺省为1G。可以支持到4G、6.4G,一般可以不选.

  #Math emulation------这项询问是否需L1nux核心模拟数学浮点运算器。如果有486Dx、AMD以及Pentium机器的话,这个选项就不必选了,因为它们都有内建的浮点运算器。协处理器是在386时代的宠儿,现在早已不用了。不过,对于有内建浮点运算器的人来说,选了这个选项并不会因此让内建的浮点运算器失效。但它会增大核心约45KB。

  #MTTR (memory type range register)support------选择该选项,系统将生成/proc/mtrr文件对MTRR进行管理,供X server使用。同时用来启动pentinum pro和pentinum II 的特殊功能,如果你用的不是这类CPU就选N,否则也仅仅是使内核变大而已。

  #Symmetric multi-processing support------对称多处理支持。除非有多个CPU,否则就不用选了。

  3. Loadable module support对模块的支持.

  首先,了解一点关于模块的知识。模块就像你特意插入核心中的某些东西,如果办公室有一个小网络并且有时想用一下(但并不经常),也许你想把网卡编译成一个模块。使用这个模块,机器必运行和存取/libs下的模块,意思是驱动程序(IDE,SCSI等但必须是NFS支持的网卡),文件系统(通常是ext2但也可以是nfs)和核心类型(最好是elf)必须编译在内核并且不能是模块,模块只有核心引导时才起作用,驱动程序(来网络)的存取,和文件系统安装。这些文件必须编译在核心内否则将能安装启动分区。如果安装启动分区和网络,你需要网络系统文件,和己经编译的网卡。为什么要使用模块? 模块化使核心变的更简捷,它减少核心释放大量的受保护的空间。模块的安装和卸载使用的空间是可重复分配利用的。如果你打开机器有90%以上的时间用到一个模块,编译它。运用这类模块是浪费内存的,原因是一旦你编译了模块它们同样将占用大量的内存,核心需要一些代码来挂上模块。记住,核心在保护空间运行,但模块并不是。这么说,并不经常使用我的设备,把它编译成只支持ext2,ide和elf。而一直使用的网卡,把其它的编译成模块:如a.out, java, floppy, iso9960, msdos, minix, vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它们许多只是在这或那用上那么几分钟。严格的说,这样做会使核心增大许多而降低它的执行速度。这时我们就可以把这些可能会用的驱动程序编译成一个—个的模块,在需要用的时候才用insmod这个指令加入核心,不用的时候也能rmmod把它从核心移除,或是用lsmod察看目前所载入的模块。这里面有三项:

  #Enable loadable module support------除非准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。

  #Set version information on all module symbols------通常,我们更新核心版本之后,模块耍重新的编译。这个选项使您不必更新编译模块而能使用以前的模块。可以不选它。但如果您选y,则按照它的说明,您必须有genksyms这个程序(可用whereis指令查看有无此程序)。

  #Kernel module loader------让内核在启动时有自己装入必需模块的能力,建议选上。

  注意:在开机就会 mount 上来的 partition 的 FS 、device driver 记得要 compiler 进 kernel,不能把它弄成 modules。请不要夸张到为了完全模组化而忘了把ext2fs和IDE dirver compiler 进 kernel 里。

  4. General setup普通的属性设置

  这部分内容非常多,一般使用缺省设置就可以了。下面介绍一下经常使用的一些选项:

  #Networking support------网络支持。因为在Linux里面,有虚拟的网络设备(1ookback),可以模拟整个网络。而且,—些程序需要它。必须,没有网卡也建议你选上。注意:选N,则7.(Networking options 网络选项)和11.(Network device support网络设备支持) 不会出现。

  #Limit memory to low 16MB ------大部分的人这一选项 N。除了主机板没有办法处理16MB以上的内存,或者有超过16MB以上的内存但却常常发生一些很奇怪的问题。这时,您可以试试这个选项。有些主机板对超16MB内存的处理并不是很好,通常这些都是旧型的主机板。还有,在说明文件中有提到,如果内存超过64MB的话,用LILO加一些参数给Linux核心(例:mem=80M),并且把您主机板上的Cache加到512K。这样,整体效率才能提升。

  #PCI support ------PCI支持。如果使用了PCI的卡,当然必选。

  #PCI bios support ------主机板是否有PCI界面。如果有,则您必须回答y。

  PCI是586电脑的主要界面(一些486主机板上也有),这个界面能让您插入所谓的PCI显示卡,或是PCI的网络卡等。这种界面是现在电脑的主要趋势,因此如果有PCI的插槽。您就可以选Y。除了一些很旧很旧但有支持PCI的主机板外(这些有bugs的旧型主机板可能会因为这个选项而让核心挂掉)。

  #PCI access mode (BIOS, Direct, Any) [Any] ------设置Linux探测PCI设备的方式。选择“BIOS”,Linux将使用BIOS;选择“Direct”,Linux将不通过BIOS;选择“Any”,Linux将直接探测PCI设备,如果失败,再使用BIOS。

  #Support for hot-pluggabel devices ------热插拔设备支持。支持的不是太好,可不选。

  #PCMCIA/CardBus support------PCMCIA/CardBus支持。有PCMCIA就必选了。

  #PCI bridge optimization (experimental) ------在某些支持BIOS上,它能让存取速度加快,建议是选Y。

  #Backward-compatible /proc/pci------设备兼容,自己看help。

  #System V IPC 如果将来想编译dosemu(DOS模拟器),则这个选项一定要选,它是一个让各个程序(process)同步且能彼此交换数据的函数库和一些系统的调用,没它,很多的程序将会无法执行。

  #BSD Process Accounting------

  #Sysctl support------除非你的内存少的可怜,否则你应该启动这个功能,启用该选项后内核会大8K,但能让你直接改变内核的参数而不必重新开机。

  #Kernel support for A.OUT binaries ------a.out的执行文件是比较古老的可执行码,用在比较早期的UNIX系统上。Linux最初也是使用这种码来执行程序,一直到ELF格式的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码。将来势必完全取代a.out格式的可执行码。但目前由于沿有许多的程序还没有取代过来,所以只好选择Y,等将来有一天,全部的程序都变成了ELF的天下时,那时再disable掉。

  #Kernel support for Linux/Intel ELF binaries ------由上所述,这个当然y哩,因为目前gcc-2.7.0以上的都有支持ELF了,如果没有选择这一项,可能会使用相当多的程序因此无法执行。

  注意:编译模块成ELF和编译支持ELF二进制。不编译适当的支持’’gotcha’’是明智的,如果机器结构是Pentium或486你将得到高效的代码,但一个386的核心将运行在32-bit compatible clone;一个Pentium核心将不。为大多机器制作一张紧急启动盘,最好在386下编译,而386并不能运行在Pentium下编译的核心。

  另外一点要注意的,你不能同时把 a.out 和 ELF 支援编译成 modules,否则当你为了能够使用 insmod 而用 insmod 来载入 a.out/ELF modules 时会有 Catch/22 状况发生。如果你的系统主要是 ELF 而你偶尔会需要用到a.out,你可以把 a.out 支援编译为 modules,否则你最好把它直接放入 kernel 之中。如果你还没进入 ELF 的世纪,在 compiler kernel 时可以直接把 ELF 支援去掉。

  #Kernel support for JAVA binaries ------ 这一项是正在做测试中的产品,但是如果想写有关Java的程序,希望它能在Linux的机器上跑。那么,可以选择把它编成一个模块或是直接把它编进核心里。

  #Power Management support ------电源管理支持。

  ##Advanced Power Management BIOS support------高级电源管理BIOS支持。这通常是用在笔记本电脑上的东西,如果您有APM的BIOS,支持省电的设备的(有电池的那种),那么您可以选上这项,一般人这一项是选n,以避免一些可能会发生的问题。后有8个选项。

  #Parallel port support ------串口支持。

  5. Plug and Play configuration即插即用支持

  Linux对即插即用目前支持的不如Windows,好有些情况下会和其他设备产生冲突(I/O,DMA,IRQ等)。这个选项对PCI设备没有影响,因为他们天生就是PNP设备。。

  #Plug and Play support (CONFIG_PNP) ------ 选择“y”,内核将自动配置即插即用设备。原来PNP还有这个意思。

  # ISA Plug and Play support ------ 选择“y”,内核将自动配置基于ISA总线的即插即用设备。

  6. Block devices块设备支持

  这个就得针对自己的设备情况来选了:

  #Normal PC floppy disk support (CONFIG_BLK_DEV_FD) [Y/m/n/?]------普通PC软盘支持。

  #Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support ------选择“y”,内核将提供对增强IDE硬盘、CDROM和磁带机的支持。在硬盘没有做得很大的时候,一般的 IDE卡和 BIOS只能支持小于 540 MB的硬盘。不但如此,那时也只能支持二颗硬盘。但现今的硬盘动不动就是1GB以上,今年主流是30~50G,而且常常都会超过一二颗硬盘。如此一来,新的主机板就开始支持加强型的IDE界而(Enhanced IDE),以支持到540MB以上的硬盘。所以,如果您的IDE界面是Enhanced的,请您选Y,底下就会出现八部分IDE界面的选项,这些选项能加快您的IDE界面的速度和对某些芯片做一些最佳化。但如果您的硬盘或光盘全都是SCSI界面的,那么选N以跳过下面选项。

  #use old disk-only driver on primary interface------通常是选择N。因为我们有其他新的drivers可用。这个选项的意思是说,如果您的IDE界面是很旧很旧的那种的。那么,就可以使用这个drives 驱动那个旧型的IDE界面(可装二台硬盘;或是一台硬盘,一台光盘)。而现今流行的 Enhanced IDE则有两个界面,共可以接四台硬盘。我们稍后会有 driver支持它。

  #Include IDE/ATAPI CDROM support------如果希望核心支持IDE/ATAPI界而的光驱,选择Y。如果有光驱,但它附有一张接口卡,必须把排线接到那张专属接口卡上;或者是接到声卡上的,则这个选项也需要选N,稍后我们会有非IDE的光驱厂牌让我们挑选。现今的光驱通常是IDE/ATAPI界而的,所以这个选项通常是Y。

  #Support removable IDE interfaces(PCMCIA)------这个选项对大部分的人全选n,除非您有PCMCIA的东西,这通常是笔记本电脑上看得到的东西。 PCMCIA是一个组织,在以前是设计内存条的。但现在他们对于PC CARDS定了一个标排,并很广泛的应用在1aptap的电脑上。不但有所谓的PCMCIA的硬盘,甚至有网络卡、SCSI卡等,不过,大部分的人并不需要这个选项。

  这个选项选完后,以下则是Linux核心对几种芯片的IDE界面做修正或是加强它。

  #CMD640 chipset bugfix/support------ 很多 486和 586的主机板都是用 CMD640的芯片,它是Neptune芯片和 SIS芯片的结合。不过,这种芯片有它的缺点,在许多的情形下,它会造成数据的流失和错误。如果您选了这一项,则Linux核心会为您小心的寻找这些错误并修正它。而且,它会打开对二个IDE界面的支持。不过,在它的说明文件中提到,如果您的主机板没有PCI界面只有VESA总线界面却希望有这项功能的话,则您必须传一些参数给核心(ideo=cmd640_vlb)。如果不确定上面所说的,选择Y。

  #CMD640 enhanced support------一般来说,对于硬盘的存取速度来说,有所谓的 PIO MODES值设定,现今的 IDE界面及 BIOS应该都能侦测到正确的硬盘PIO MODE值了。此值愈高表示硬盘的存取的速度愈快。可是,有些主机板的B10S还是旧式的,不能抓到比较高的 PIO MODE值,如此一来,便不能发挥整台硬盘的效率。这个设定告诉读者说:如果您的IDE界面是CMD640为基础的界面,但是您的BIOS并不能抓到正确的PIO MODE值,那么,这个选项可以自动的找到硬盘正确的PIO MODE值。

  #RZ1000 chipset bugfix/support------这个选项如同前面的CMD640一样。不过,它的芯片是RZ1000的芯片,这种芯片是以Neptune芯片为主的一种芯片,而目、有很多的486和 586的主机板都在使用它。可以查查主机板的说明书或是 IDE接口卡的说明书做确定。文件上提到,选择这个将会降低一些速度,但是数据能百分之百的正确。

  #Intel 82371 PIIX(Triton I/II) DMA support------对于586的Pentium电脑来说,有相当多的主机板都是用Intel的Triton芯片,使用这种芯片的最大好处是支持直接内存存取DMA,而节省您的CPU时间。在以往还没有DMA这个东西时,读取硬盘需要耗用许多的CPU时间。如此一来,CPU被占用,就不能充分的发挥它的功效。后来,DMA出来后,硬盘的读取便靠Triton或其他有支持DMA的IDE界面的芯片,直接与它们做沟通,而节省了大量的 CPU时间,但这必须您的硬盘和主机板有同时支持 DMA的 IDE界面的芯片,直接与它们做沟通而节省了大量的 CPU时间。但这必须您的硬盘和主机板有同时支持DMA MODE才行。

  ##other IDE chipset support------如果这上选项选y,则会出现下列六种其他的芯片或厂牌供您选择。


* NOte: most of these also require special kernel boot paraaeters
ALI M14xx support
DTC-2278 support
Holtek HT65608 support
PROMISE DC4030 support
QDI QD6580 support
UMC 8672 support

  上面这六种厂牌的芯片依硬件配备而使用,但它们有共同的特点就是必须传一些参数给核心。如果找不到您的芯片,那么也没关系。上这些选项只不过对这些芯片做最佳化罢了。

  ## Additional Block Devices其他的块设备

  #Loopback device support------大部分的人这一个选项都选N,因为没有必要。这个选项的意思是说,可以将一个文件挂成一个文件系统。如果要烧光盘片的,那么您很有可能在把一个文件烧进去之前,看看这个文件是否符合IS09660的文件系统的内容,是否符合您的需求。而且,可以对这个文件系统加以保护。不过,如果您 想做到这点的话,您必须有最新的mount程序,版本是在2.5X版以上的。而且如果您希望对这个文件系统加上保护,则您必须有des.1.tar.gz这个程序。注意:此处与网络无关。

  #Multlnle devices driver support------这个选项可以让把整个硬盘分区变成一个单独的区块设备,您必须有md035.tgz这个程序。而且在做这件事之前请将您的硬盘备份,因为它尚在测试阶段。一般人对这个选项是选N。

  #RAM disk support------如果使用过DOS下的ramdrive程序,应该能了解这个选项的意义。它可以把内存当成硬盘来做存取就如同一般的硬盘一样,可以format它,或是放一些文件在里头。然后,当您关机这些数据也随着之而去了。如果的RAM够大,可以考虑玩玩这选项,但一般人都不需要。

  #XT hard disk support------支持XT的古董硬盘,这是IBM电脑时代的东西,如果您还有这种很旧很旧的硬盘。那么,您可以把它编进核心或是编成一个模块。大部分的人这个选项都是选择N的。

  #Compaq SMART2 support------

  #Mulex DAC960/DAC1100 PCI RAID Controller support------RAID镜像用的。

  #Logical volume manager(LVM)support------逻辑卷管理支持。

  #Multiple devices driver support------多设备驱动支持。

  #RAM disk support------RAM盘支持。

  7. Networking options 网络选项

  这里配置的是网络协议。 

  #Packet socket ------ 选择“Y”,一些应用程序将使用Packet协议直接同网络设备通讯,而不通过内核中的其它中介协议。

  #Kernel/User Network link driver------这个是在测试中的程序码,一般人不需要用。依它的说明,它允许在核心、模块或程序间的某些部分间,彼此做双向的沟通。如果想使用arpd,则这个程序码就要加进核心里。

  #TCP/IP networking------选择“Y”,内核将支持TCP/IP协议。这个选项无

[1] [2]  下一页


[C语言系列]C# 和 Linux 时间戳转换  [Web开发]PHP flock文件锁介绍
[Web开发]flock() Linux下的文件锁  [电脑应用]Linux下的六个免费的虚拟主机管理系统介绍
[电脑应用]Linux数据库大比拚  [操作系统]在Windows中玩转Linux操作系统
[办公软件]在RedHat Linux 9里安装gaim0.80  [办公软件]掌握 Linux 调试技术
[办公软件]理解 Linux 配置文件  [聊天工具]Real10 & Xpdf installation on Linux Box
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台