您的位置:首页 > 运维架构 > Linux

Linux内核编译选项-3

2013-01-06 09:45 246 查看
Bus options (PCI etc.) --->

I/O总线选项,由Interl在1992年初制订. 现在一般的总线类型都是PCI. 使用PCI总线的系统于1993年中期出现,从此成为主流.

[*] PCI support PCI支持,如果使用了PCI或PCI Express设备就必选

PCI access mode (Any) --->

PCI访问模式,强列建议选"Any"(系统将优先使用"MMConfig",然后使用"BIOS",最后使用"Direct"检测PCI设备)

在PCI系统中,BIOS可以检测PCI设备和确定它们的设置。但是,一些老的PCI主板有BIOS问题,如果这里选上会让系统当机。同时,一些嵌入式的 基于PCI系统没有任何BIOS。LINUX可以在不使用BIOS的情况下尝试直接检测PCI硬件。

选上这个以后,你可以设定LINUX如果检测PCI设备。如果你选择“BIOS”,BIOS会用到。你选 “Direct”, BIOS不会用到。如果你选“MMConfig”,PCI加速的 MMCONFIG 会用到。如果你选“Any” ,内核先用 MMCONFIG ,然后 “Direct”,最后才是“BIOS”如果前面的都无法工作。如果不清楚,选“Any”。

( ) BIOS

( ) MMConfig

( ) Direct

(X) Any

[ ] Support for DMA Remapping Devices (EXPERIMENTAL)

[*] PCI Express support

PCI Express支持(目前主要用于显卡和千兆网卡)

这里自动支持 PCI Express 端口总线。用户可以选择 Native Hot-Plug support, Advanced Error Reporting support,Power Management Event support,Virtual Channel support 4个选项来支持 PCI Express 端口(启动或者切换)。

我的板是PCI Express。大家可以用ls hw|less来看看自己的PCI是什么类型。

< > PCI Express Hotplug driver如果你的主板和设备都支持PCI Express热插拔就可以上

[*] Root Port Advanced Error Reporting support

由PCI Express AER驱动程序处理发送到Root Port的错误信息

[ ] PCI Express ECRC settings control

< > PCIE AER error injector support

[ ] PCI Express ASPM support(Experimental)

[*] Message Signaled Interrupts (MSI and MSI-X)

PCI Express支持两类中断:INTx使用传统的IRQ中断,可以与现行的PCI总线的驱动程序和操作

系统兼容;MSI则是通过inbound Memory Write触发和发送中断,更适合多CPU系统.

可以使用"pci=nomsi"内核引导参数关闭

MSI信息信号中断

这允许设备驱动开启MSI。MSI允许一个设备用非装订内存写入方式在自己的PCI总线中产生一个中断,而不是常规的IRQ针脚中断。

在内核启动时,用 ‘pci=nomsi’选项可以禁用PCI MSI中断。这将在整个系统禁用MSI。

如果不知道怎么做,选N。

[ ] Enable deprecated pci_find_* API

[ ] PCI Debugging PCI将PCI调试信息输出到系统日志里 调试,不选

< > PCI Stub driver

[*] Interrupts on hypertransport devices

允许本地的hypertransport设备使用中断 hypertransport是AMD在99年提出的一种总线技术

高速传输设备中断

允许高速传输设备使用中断。

如果不清楚,选Y。

[ ] PCI IOV support

[ ] ISA support ISA(industrial standard architecture)总线标准是IBM 公司

1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。它是对XT总线的扩展

[ ] MCA support MCA总线是IBM公司开发的一种总线,应用在PS/2微机上。

这种总线与ISA总线完全不兼容,但技术上更加先进

< > NatSemi SCx200 support

松下的一种半导体处理器的驱动。在使用AMD Geode处理器的机器上才可能有

[ ] One Laptop Per Child support

<*> PCCard (PCMCIA/CardBus) support --->不选

PCMCIA(PC机内存卡国际联合会的缩写PCMCIA总线分为两类,一类为16位的PCMCIA,另一类

为32位的CardBus。CardBus是一种用于笔记本计算机的新的高性能PC卡总线接口标准,就像

广泛地应用在台式计算机中的PCI总线一样

[ ] Enable PCCARD debugging仅供调试

<*> 16-bit PCMCIA support一些老的PCMCIA卡使用16位的CardBus

[*] Load CIS updates from userspace (EXPERIMENTAL)

有的PCMCIA卡需要这个功能

[*] PCMCIA control ioctl (obsolete)

提供PCMCIA的ioctl接口

-*- 32-bit CardBus support

早先的PCMCIA卡是16位的,这里允许使用32位的CardBus, 新的PC-card实际上是CarBus卡

*** PC-card bridges ***

<*> CardBus yenta-compatible bridge support

< > Cirrus PD6729 compatible bridge support

< > i82092 compatible bridge support

<*> Support for PCI Hotplug --->

支持PCI的热拔插

< > Fake PCI Hotplug driver

< > Compaq PCI Hotplug driver

< > IBM PCI Hotplug driver

< > ACPI PCI Hotplug driver

[ ] CompactPCI Hotplug driver

< > SHPC PCI Hotplug driver

Executable file formats / Emulations --->

可执行文件格式

[*] Kernel support for ELF binaries选

ELF是开放平台下最常用的二进制文件格式,支持动态连接,支持不同的硬件平台.除非你知道自己在做什么,否则必选

ELF(可执行和可链接格式)是一种用来连接不同架构和操作系统的可执行文件、库函数格式。选Y,你的内核可以运行ELF二进制文件,这也使你的内核增大 13KB。

ELF现在基本代替了传统的 a.out 格式(QMAGIC and ZMAGIC用到),因为它是可移植的(可移植不代表它可以直接运行在不同构架和操作系统上),而且建立相关运行库文件非常容易。很多新的可执行文件都用 ELF格式发布,你在这里当然要选Y。

[*] Write ELF core dumps with partial segments

< > Kernel support for a.out and ECOFF binaries

早期UNIX系统的可执行文件格式,目前已经被ELF格式取代

对 a.out 和 ECOFF 二进制文件的支持

A.out (Assembler.OUTput)是一种二进制文件格式,它用在最早的UNIX版本中。LINUX在QMAGIC 和 ZMAGIC两个镜像中使用A.out,直到它最近被ELF取代。ELF的转变开始于1995年。这个选项主要是给研究历史的人提供感兴趣的信息,或者你 要是有那个年代的文件,你需要这个选项。

大多数人在这可以选N。如果你认为你有可能会用到这个格式,选M编译成模块。模块名为binfmt_aout。如果你系统的关键部件(比如/sbin /init 或者 /lib/ld.so)是 a.out 格式的的,你要在这选Y。

<*> Kernel support for MISC binaries选

允许插入二进制的封装层到内核中,使用Java,.NET,Python,Lisp等语言编写的程序时需要它

内核对 MISC 二进制文件的支持

如果你在这选Y,它将可以将 wrapper-driven 二进制格式嵌入内核。当你使用一些程序的解释器时,比如 Java, Python, .NET或者Emacs-Lisp,或者当你经常通过DOS 仿真器运行DOS程序时,它将非常有用。当你在这个选项选Y,你可以简单地通过在shell打相应命令运行以上的程序,LINUX可以自动匹配正确的格 式。

要使用 binfmt_misc 你可能需要挂载它:

mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc

你可以选M作为模块,以后再加载,模块名为 binfmt_misc。如果你不知道怎么办,选Y。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: