`
loamy
  • 浏览: 321059 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux内核参数

阅读更多

以下是内核的主要配置文件的详细说明: 
1.Code maturity level options:代码成熟等级。 
1.1.prompt for development and/or incomplete code/drivers. 在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的核心。但是有些driver还没进入稳定的阶段。但其作者很欢迎其他人去测试这些driver并提出一些bugs。很多参考书上说这是那些开发人员认为还不是很稳定的功能。但是我个人认为,这个是应该选的一个选项,系统默认是N,我建议还是选择Y,因为会使性能有所提高。 

2.Loadable module support:对模块的支持。 
2.1.Enable loadable module support. 启动动态载入额外模块的功能,系统默认为Y,建议选择该功能。 2.2.Set version information on all module symbols. 通常,我们更新核心版本之后,模块要重新的编译。这个选项可以为某个版本的内核编译的模块在另一个内核下使用,但通常用不到,可以不选,系统默认为Y。 2.3.Kernel module loader. 让内核在启动时有自己装入必需模块的能力,建议选上。注意:在开机就会 mount 上来的 partition 的 FS 、device driver 记得要 compiler 进 kernel,不能把它弄成 modules。请不要夸张到为了完全模组化而忘了把ext2fs和IDE dirver compiler 进 kernel 里。通常的建议是如果可能,将内核代码编译成可加载模块,因为这样可以使内核更小,而且更稳定。警告!千万不要将文件系统(File System)部分的代码编译为可加载模块,如果你犯了这个错误,将文件系统(File System)部分的代码编译为可加载模块,结果将是内核无法读取它自己的文件系统。 然后内核无法加载它自己的配置文件——一些很明显是在正常启动Linux时所必需的东西。我很少使用可加载模块:虽然会使内核文件变大,但我喜欢我的内核能够直接和硬件对话,这只是我自己的偏好。 

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

3.1.Processor family. 它会对每种CPU做最佳化,所以要选择正确的CPU否则会对该机的性能有一定的影响。不过,如果您的gCC编译器是2.7.0版以前的。那么只能选择386或是486。通常“/dev/cpu”选项更高级,多数用户并不需要选择它。需要注意的是不能选择比你的CPU类型还高级的CPU,否则可能不能正常工作。 

3.2.High Memory Support. 只有当你的计算机有超过1GB内存时才是必须的。因此“High Memory Support”通常并不使用。 3.3.Math emulation. 这项询问是否需L1nux核心模拟数学浮点运算器。如果有486Dx、AMD以及Pentium机器的话,这个选项就不必选了,因为它们都有内建的浮点运算器。系统默认为N。 

3.4.MTTR (memory type range register)support. 这项允许在PCI或者AGP总线众进行更快速的通讯。 由于现在所有系统都将它们的显卡接在PCI或AGP总线上,你通常需要选择“MTRR”:无论如何,打开这个选项通常都是安全的——即使你的机器没有使用PCI或AGP总线的显卡 

3.5.Symmetric multi-processing support. 同步处理器支持该选项保证内核能够以最佳方式加载多处理器。假如被编译的计算机上有多个CPU。一般用户选择N。 

3.6.Mutiquad NUMA system. 通常也需要多处理器,但它通常是关闭的。 

4.General setup:常规内核选项。 

4.1. Networking support. Linux网络支持,建议选上,否则可能导致内核无法编译。 

4.2. PCI support. 现在的所有系统都使用PCI总线,系统默认为Y。 
4.3. PCI access mode. PCI存取模式。可供选择的有BIOS、Direct和Any,选Any吧。 
4.4. Support for hot-pluggabel devices. 热插拔设备支持。支持的不是太好,可不选。 
4.5. PCMCIA/CardBus support------>PCMCIA/CardBus support. 有PCMCIA就必选了。
4.6. System V IPC. 如果将来想编译dosemu(DOS模拟器),它是一个让各个程序(process)同步且能彼此交换数据的函数库和一些系统的调用,建议选择Y。 
4.7. BSD Process Accounting. 
4.8. Sysctl support. 除非你的内存少的可怜,否则你应该启动这个功能,启用该选项后内核会大8K,但能让你直接改变内核的参数而不必重新开机。以上三项是有关进程处理/IPC调用的,主要就是System V和BSD两种风格。如果你不是使用BSD,就按照缺省吧。 
4.9. Kernel core (/proc/kcore/) format. 现在的Linux发行版以ELF格式作为它们的“内核核心格式”。 
4.10. Kernel support for A.OUT binaries. a.out的执行文件是比较古老的可执行码,用在比较早期的UNIX系统上。Linux最初也是使用这种码来执行程序,一直到ELF格式的可执行码出来后,有愈来俞多的程序码随着ELF格式的优点而变成了ELF的可执码。将来势必完全取代a.out格式的可执行码。但目前由于沿有许多的程序还没有取代过来,所以只好选择Y,等将来有一天,全部的程序都变成了ELF的天下时,那时再disable掉。 
4.11. Power Management support. 电源管理支持。 
4.12. Advanced Power Management BIOS support. 高级电源管理BIOS支持。这通常是用在笔记本电脑上的东西,如果您有APM的BIOS,支持省电的设备的(有电池的那种),那么您可以选上这项,一般人这一项是选n,以避免一些可能会发生的问题。后有8个选项。ATX主板需要这两个选项来自动关闭计算机(turn off the computer,包括关闭电源)。 

5.Memory Technology Devices (MTD):配置存储设备。 

5.1. Memory Technology Devices (MTD) support. 你需要这个选项来使Linux可以读取闪存卡(Flash Card)之类的存储器。 闪存卡通常用于数码相机。 通过这个选项,Linux可以读取闪存卡(从特殊的设备中,比如读卡机),并且将图片保存为.jpg格式。除非你确定你需要它,否则不必打开它:如果你发现自己需要,你可以在以后加上。 

6.Parallel port support:配置并口。 
6.1. Parallel port support. 如果不打算使用,就别选了。 

7.Plug and Play configuration:即插即用支持。 

7.1. Plug and Playsupport. 几乎所有人都有即插即用设备,因此需要这个选项的支持。 打开这个选项使内核能够自动配置即插即用设备并且使它们在系统中能够使用。 有时需要在BIOS中打开“Plug & Play OS”,否则Linux(当然Windows也一样)无法配置即插即用设备。 

7.2. ISA Plug & Play support. 选项需要以即插即用模式运行的ISA卡(ISA Card)。 例如AWE64声卡。假如有这个设备的话可以选择Y。 

8.Block devices:块设备支持。 

8.1. Normal PC floppy disk support. 普通PC软盘支持。大部分人都要使用软盘(floppy),所以这个选项要选择Y 

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

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

9.Multiple devices driver support:多设备驱动支持。 
9.1. Multiple devices driver support. 普通Linux用户通常不需要RAID(廉价冗余磁盘阵列)或者LVM支持。 普通用户选择Y。 

10.Networking options:网络选项。 
10.1. Packet Socket. 选择“Y”,你需要这个选项来与网卡进行通信而不需要在内核中实现网络协议。 在这里我可以简捷一些:一般情况下,打开这个选项。 大多数选项是关闭的,除非你需要特殊的支持。 
10.2. TCP/IP networking. 选择“Y”,内核将支持TCP/IP协议。建议用户选择Y。 
10.3. IP:multicasting. 所谓的multicasting是群组广播,它是用在视频会议上的协议,如果想送一个网络封包(网络的数据),同样的一份数据将送往十部机器上。您可以连续送十次给十台机器(点对点的传送),也可以同时送一次,然后让十台机器同时接收到。当然后者比前者好,由于视频会议要求是最好每个人都能同时收到同一份信息,所以如果您有类似的需要,这个选项就要打开。同时您还必须去找相关的软件。 

11.Telephony Support:电话支持。 

11.1.Linux Telephony Support. 这个选项只有当你在计算机中使用电话卡的时候才有用,比如在Internet上打电话。 大多数普通用户没有电话卡,因此不需要这个选项。 

12.ATA/IDE/MFM/RLL support:配置对ATA,IDE,MFM和RLL的支持。 

12.1. ATA/IDE/MFM/RLL support. 几乎每个人都需要这些协议,除非你的机器只有SCSI硬盘而没有其他任何类型的硬盘。 因此,大多数用户都应该把它打开。 点击它下面的那一栏将会出现一个有更详细配置选项的菜单。仔细填写它们:它们极为重要! 
12.2.Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support. 选项是每个使用IDE/ATAPI界面的人都需要的。 包括硬盘,磁带机,ZIP盘,光驱(CDROM)和刻录机(CD-R(W))。 基本上现在的所有计算机(译者注:这里指的是PC)都使用IDE/ATAPI界面,因此这个选项必须打开。 
12.3. Include IDE/ATA-2 DISK support. 选项在支持硬盘的时候需要。 因此这个选项也必须打开,除非你的机器是一个纯粹的SCSI系统。 其它的就使用缺省的选项吧,如果你使用了比较特殊的设备,比如PCMCIA等,就到里面找相应的选项吧。 

13.SCSI support:SCSI设备的支持。 

13.1. SCSI support. 如果你有一块SCSI卡,你当然需要打开相关选项。这张截图只显示了当你为你的CD-R(W)选择“SCSI emulation support” 
13.2. SCSI disk support. 指硬盘而言,如果有SCSI硬盘,那么就要选这个选项。 
13.3. SCSI tape support. 指磁带机而言,如果您有SCSI的磁带机,那么就要选这个选项。 
13.4. SCSI CDROM support. 指CDROM,如果您有SCSI光驱,这一项一定要选。 
13.5. SCSI generic support. 指其他有关SCSI的东西,也许您有一台SCSI的扫描器或是烧录机,或是其他有关SCSI的配备,您就要选这一项。而且,除此之外,您还必须准备关于这些配备的软件。 
13.6. Probe a11 LUNs on each SCSI device. 通常这个选项大部分的人都不会选。我们举个例子来说,如果您的SCSI光驱是那种多片装的,就是一台光驱,但可以一次放好几片光盘片的那种。这种我们叫做Lun。I2O Device Support:配置I2O设备支持。 
13.7. Verbose SCSI error reporting(kernel size+=12K). 如果认为您的SCSI硬件配备有些问题,想了解一下它出现的错误信息。那么您可以把这个选项选y,Linux核心会告诉您有关于您的SCSI配备的问题(如果有的话)。不过,它会增加核心约 12KB左右。 
13.8. SCSI low—level drivers. 下面总共有接近30张的SCSI卡,您可以依需求做选择SCSI卡牌子。 

14.I2O Device Support:I20设备支持。 
14.1. I2O Device Support. 如果你有I2O界面,你必须选择这个选项。大多数人没有,如果你也没有的话,可以直接将它关闭。\n15.Network Device Support:网络设备支持。

15.1. Network Device Support. 网络设备支持。上面选好协议了,现在该选设备了,可想而知,内容肯定多得很。还好还好,里面大概分类了,有ARCnet设备、Ethernet(10 or 100 Mbit)、Ethernet(1000Mbit)、Wireless LAN(non-hamradio)、Token Ring device、Wan interfaces、PCMCIA network device support几大类。我用的是10/100M的以太网,看来只需要选则这个了。还是10/100M的以太网设备熟悉,内容虽然多,一眼就可以看到我所用的RealTeck RTL-8139 PCI Fast Ethernet Adapter support,为了免得麻烦,编译到内核里面好了,不选M了,选Y。耐心点,一般说来你都能找到自己用的网卡。如果没有,你只好自己到厂商那里去要驱动了。 
15.2. Dummy net driver support. 如果有SLIP或PPP的传输协议,那么要把这一项打开。 
15.3. PPP(point-to-point)support. 点对点协议。 
15.4. SLIP(serial line) support. 这是MODEM族常用的一种通讯协议,必须通过一台Server(叫ISP)获取一个IP地址,然后利用这个IP地址,可以模拟以太网络,使用有关TCP/IP的程序。
15.5.1. Ethernet(10 or 100Mbit). 如果您使用网络卡,那么这个选项一定要选y,否则以下对网络卡的选择将不会出现。或是您有网络卡,这时您同样的也要选y。像我们平常用的都是NE2000相容卡。
15.5.2. EISA, VLB, PCI and on board controllers. 选择网络卡,包括直接附在主机板上的那种。如果选择y,则底下会列出其他的网络卡让您做选择,这些卡对于一般人来说很少会去用到。所以大部分的人这项是选N的。
15.5.3. Pocket and portable adaptors. 通常用在可携式的电脑上,这类型的网络卡(口袋型的),由于体积很小在安装和取下方面很方便,因此笔记本相关电脑上便常常采用这种网络卡。 
15.5.4. Token Ring driver support. Token Ring是 IBM电脑上的网络。它叫令牌环网络,和以太网络是很类似的东西。如果您希望使用的Token Ring网络卡以便连接到这种网络,那么选Y,一般人都选N。 
15.5.5. ARCnet support. 这也是一种网络卡,通常一般人用不到,所以选n。 

16.Amateur Radio support:配置业余广播支持。 
16.1. Amateur Radio support. 如果你希望使用业余广播支持,应该打开这个选项,并且打开相应的驱动。 多数人不需要这个选项。 

17.IrDA(infrared)support:配置红外线(无线)通讯支持。 
17.1. IrDA(infrared)support. 如果你有无线设备,比如无线鼠标或无线键盘,你应该打开这个选项。 多数桌面机器不需要这个选项。 

18.ISDN subsystem:配置ISDN。 
18.1. ISDN support. 如果使用ISDN上网,这个就必不可少了。 

19.Old CD-ROM drivers(not SCSI、not IDE):配置老CDROM。 在486和386机器中,CDROM并不是通过硬盘IDE(ATAPI)控制器连接的,而是通过声卡或一块特殊的板卡。 使用这些老CDROM需要选择对应的驱动。这个选项在现在的系统中显得多余。 

20.Input Core Support: 这个选项提供了2.4.x内核中最重要的特性之一的USB支持。 Input core support是处于内核与一些USB设备之间的层(Layer)。如果你拥有其中一种USB设备,你必须打开“input core support”选项。 现在所有的主板都有USB接口,所以,原则上你应该打开它。 

21.Character devices:字符设备。 
21.1. Virtual terminal. 选择“y”,内核将支持虚拟终端。 
21.2. Support for console on virtual terminal. 选择“y”,内核可将一个虚拟终端用作系统控制台。 
21.3. Standard/generic (dumb) serial support. 选择“y”,内核将支持串行口。标准序列接口的选定。如果您是用serial的鼠标(大部分的人都是用这个),或是MODEM的话,则这一项一定要选。大部分的人这一项都选y。 21.4. Support for console on serial port. 选择“y”,内核可将一个串行口用作系统控制台。 
21.5. I2C support. I2C是Philips极力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面的Video For Linux,该项必选。 21.6. Mice. 鼠标。现在可以支持总线、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad------根据需要选择。 
21.6.1. PS/2 mouse (aka "auxiliary device") support. 如果用户使用的是PS/2鼠标,则该选项应该选择“y”。
21.7. Joysticks. 手柄。即使在Linux下把手柄驱动起来意义也不是太大,游戏太少了。
21.8. Watchdog Cards. 虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中,那么就会在你的/dev下创建一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统重新启动的1分钟左右。有了这个文件,你就可以恢复系统到重启前的状态了。

24.Console drivers:配置控制台驱动。
24.1. VGA text console. 选项在VGA模式下启动字符模式。 多数人都需要它,因此这个玄学爱你跟通常是开着的。 只有一些386计算机没有VGA兼容显卡,选择这个选项对于现在的多数计算机来说都没有问题。 
24.2. video mode selection support. 使启动的时候能够使用字符模式的分辨率。 如果你希望一行能够有更多的字的话,这通常会给你提供方便,不过通常你不必打开它们。 下面两个选项是试验性质的,我建议你关闭它们。 

25.Sound sound:声卡驱动。 在这部分,你可以配置声卡。如果你的发行版使用的是内核的标准声卡驱动,你必须正确选择你使用的声卡。 

26.USB support:配置USB支持。 

27.kernel hacking:配置“kernel hacking”选项.这很简单:不要打开! make dep make bzImage(I要大写的) make clean make modules make modules_install //生成了/lib/modules/2.4.22 depmod –a 检查内核中有没有未解析的symbol,它是生成模块间的依赖关系,这样你启动新内核之后,使用modprobe命令加载模块时就能正确地定位模块。假如输入这个命令后你看不到没有任何返回信息的话,那说明你在编译过程是已经成功了。 

把bzImage拷贝到boot cp /usr/src/linux/arch/i386/bzImage /boot 在/boot下生成 initrd img文件:\ncd /boot mkinitrd initrd-2.4.22.img 2.4.22 然后配置grub.conf文件 default=0 timeout=10 splashimage=(hd0,6)/grub/splash.xpm.gz password #$%$43&*fsklfs4$ title Red Hat Linux Adance sever 2.1 (2.4.9-e3) root (hd0,6) kernel /vmlinuz-2.4.9-e3 ro root=/dev/hda8 initrd /initrd-2.4.9-e3 title DOS rootnoverify (hd0,0) //红色部分是我添加的内容\n title Red Hat Linux Adance sever 2.1 (2.4.22) root (hd0,6) kernel /vmlinuz-2.4.22 ro root=/dev/hda8 initrd /initrd-2.4.22.img chainloader +1 重2.6开始,多了make install命令,可以减少make dep,make clean等很多步骤。

分享到:
评论

相关推荐

    linux内核参数.pdf

    "Linux 内核参数" Linux 内核参数是指在 Linux 内核启动时可以传递给内核的命令行选项或启动参数。这些参数可以用来手动设置硬件参数、避免内核更改某些参数的值、或者传递某些特殊的参数给内核。这些参数可以以...

    linux 内核参数调优

    Linux 内核参数调优详解 Linux 内核参数是 Linux 操作系统的核心组件之一,它控制着系统的行为和性能。通过调整 Linux 内核参数,可以提高系统的性能、安全性和稳定性。本文将详细讲解 Linux 内核参数的调整,包括...

    linux内核参数修改

    linux内核参数修改 linux 内核 参数 修改 /proc/sys/kernel/shmall 该文件是在任何给定时刻系统上可以使用的共享内存的总量(以字节为单位)。 缺省设置:2097152 /proc/sys/kernel/shmax 该文件指定内核所允许的...

    Linux内核参数调整及ORACLE调优参数

    Linux内核参数调整及ORACLE调优参数

    linux内核参数详解

    ### Linux内核参数详解 #### 一、引言 Linux作为一个功能强大且广泛使用的操作系统,其内核提供了丰富的参数配置选项来优化系统性能和资源管理。对于特定的应用场景,如安装Oracle数据库或运行大型PostgreSQL...

    linux 内核参数VM调优 之 参数调节和场景分析

    本文将围绕Linux内核参数中的虚拟内存管理(VM)调优展开,重点讨论参数调节及不同场景下的分析。 #### 二、关键参数详解 ##### 1. pdflush刷新脏数据条件 在Linux系统中,pdflush是一个后台进程,负责将缓存中的...

    Linux内核参数对Spark负载性能影响的研究.pdf

    《Linux内核参数对Spark负载性能影响的研究》这篇文章主要探讨了如何通过调整Linux内核参数来优化Apache Spark的性能。Spark作为一个广泛应用于大数据处理的计算框架,其性能表现深受操作系统底层参数的影响。文章...

    linux内核参数模块范例

    linux 内核 参数 模块 范例 #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL");

    linux内核参数[文].pdf

    Linux内核参数是控制操作系统行为的关键元素,它们允许用户在启动时自定义内核的行为,以适应特定的硬件配置或优化系统性能。这些参数通过命令行传递给内核,通常是通过引导加载器(如LILO或GRUB)完成。参数以空格...

    BootLoader 与Linux 内核的参数传递.pdf

    初始化完成后,BootLoader 创建一个内核参数链表 (tagged list),并将其物理地址存放在寄存器 r2 中,通常为 0x20000100。接下来,BootLoader 将预先烧录在 NorFlash 中的内核映像和根文件系统映像搬移到 SDRAM 中,...

    CATT-L#Tips#CentOS 优化 Linux 内核参数1

    CentOS 优化 Linux 内核参数在末尾追加以下内容使配置立即生效。

    linux内核参数设置_linux内核的功能有哪些.docx

    Linux内核作为操作系统的核心部分,承担着管理和调度系统资源的重要职责。本文主要探讨了Linux内核的四个关键功能:系统内存管理、软件程序管理、硬件管理和文件系统管理。 首先,系统内存管理是Linux内核的基础...

    Linux内核参数调整方法

    Linux内核参数调整是优化系统性能的关键步骤,它涉及到系统的各种功能,如网络、内存管理、文件系统等。内核参数通常存储在内存中,通过命令行工具可以直接修改并立即生效,但这些改动不会持久化,也就是说,一旦...

    Linux 内核参数调优文档

    Linux 下 系统参数的调优经验之谈,非常给力的!调优系统必备

    Linux优化-修改内核参数.rar

    首先,我们要理解Linux内核参数的重要性。内核是操作系统的核心,它管理硬件资源,提供服务给用户空间的应用程序。内核参数是控制这些服务行为的关键,正确的设置可以提高系统的响应速度,减少资源浪费,甚至解决...

    linux 内核精髓-精通linux内核必会的75个绝技

    9. **性能分析与调优**:讨论性能监控工具,如perf、sysfs和procfs,以及如何通过调整内核参数优化系统性能。 10. **安全与稳定性**:讲解Linux内核的安全机制,如SELinux、AppArmor等,以及内核崩溃调试和日志分析...

    u-boot向linux内核传递启动参数(详细).pdf

    在将控制权交给Linux内核之前,U-Boot会向内核传递一些必要的启动参数。这些参数对内核正确引导和运行至关重要。 启动参数的传递可以通过两种方式进行:一种是较老的参数结构(parameter_struct)方式,主要用于...

    Linux内核详细图解

    这涉及到选择需要的内核模块、调整内核参数,然后编译和安装内核。 7. **设备驱动**:设备驱动程序是连接硬件设备和内核的桥梁,它们负责与硬件进行低级别通信,让内核能够管理和控制硬件。学习如何编写和调试设备...

    优化Linux的内核参数来提高服务器并发处理能力

    ### 优化Linux内核参数以提高服务器并发处理能力 #### 背景与目标 在IT运维领域,尤其是在处理高并发场景时,如何在现有硬件条件下最大化地利用资源成为了一个重要课题。对于运行Linux操作系统的服务器而言,通过...

Global site tag (gtag.js) - Google Analytics