2.6.30.4内核menu之General setup

来源:互联网 发布:红颜知已是什么意思呢 编辑:程序博客网 时间:2024/05/01 04:00

查看menu的方法:在内核目录下1:

1. #make config(基于文本的最为传统的配置界面,不推荐使用)

2. #make menuconfig (基于文本选单的配置界面,推荐使用)

3. #make Xconfig (基于图形窗口模式的配置界面,Xwindow下推荐使用)需要先安装libqt3-compat-headers(sudo apt-get install libqt3-compat-headers
 选择相应的配置时,有三种选择,可用键盘上空格键选择,它们分别代表的含义如下:

[ ]编译或者移除
< >编译或者模块 或者移除
{ }编译或者模块 (被其他特性选择)
- -被其他特性选择
其中:
文字中的Y表示选择进内核。M表示编成模块。N表示不选择。
在make menuconfig下,*表示Y,M表示M,空白表示N。

前面带 * 表示选择进内核

     General setup  --->   常规设置       

      * 1.1 Prompt for development and/or incomplete code/drivers对开发中的或者未完成的代码和驱动进行提示

        1.2  Local version - append to kernel release  本地版本——附加内核发行版本

        1.3 Automatically append version information to the version string自动生成版本信息 

       * 1.4 Support for paging of anonymous memory (swap)  

                  将使你的内核支持虚拟内存。这个虚拟内存在LINUX中就是SWAP分区。除非你不想要SWAP分区,否则这里必选Y

       * 1.5 System V IPC         

        System V进程间通信(IPC)支持,于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来,特别地,你想在LINUX下运行 DOS仿真程序,你必须要选Y

       * 1.6 POSIX Message Queues (posix《Portable Operating System Interface of Unix的缩写,可移植性操作系统接口》消息队列)

       * 1.7 BSD Process Accounting  BSD进程统计

               这是允许用户进程访问内核,将账户信息写入文件中。这通常被认为是个好主意,建议你最好将它选上。将进程的统计信息写入文件的用户级系统调用,主要包括进程的创建时间/创建者/内存占用等信息。

         1.8  BSD Process Accounting version 3 file format使用新的第三版文件格式,可以包含每个进程的PID和其父进程的PID,但是不兼容老版本的文件格式

       * 1.9 Export task/process statistics through netlink (EXPERIMENTAL) 通过网络输出工作/进程的相关数据(试验中)

         通过通用的网络输出工作/进程的相应数据,和BSD不同的是,这些数据在进程运行的时候就可以通过相关命令访问。和BSD类似,数据将在进程结束时送入用户空间。如果不清楚,选N

       * 1.10  Enable per-task delay accounting (EXPERIMENTAL)  

                  在统计信息中包含每一个进程等候系统资源(cpu,IO同步,内存交换等)所花费的时间   

        1.11 Enable extended accounting over taskstats (EXPERIMENTAL) 

                收集额外的进程统计信息并通过taskstats接口发送到用户空间

                  Enable per-task storage I/O accounting (EXPERIMENTAL)
               收集该任务引起的存储I/O的字节数量的信息量

       * 1.12 Auditing support   审计支持

         审计支持,用于和内核的某些子模块同时工作,(例如SELinux)需要它,只有同时选择其子项才能对系统调用进行审计。允许审计的下层能够被其他内核子系统使用,比如 SE  -Linux,它需要这个来进行登录时的声音和视频输出。没有CONFIG_AUDITSYSCALL时(即下一个选项)无法进行系统调用。

       * 1.13 RCU Subsystem  --->  一个高性能的锁机制RCU子系统RCU(Read-Copy Update)

                RCU Implementation (Tree-based hierarchical RCU)  ---> RCU 实现机制
     1.14 Kernel .config support     

       这个选项允许.config文件(即编译LINUX时的配置文件)保存在内核当中。它提供正在运行中的或者还在硬盘中的内核的相关配置选项。可以通过内核镜像文件 kernel image file用命令 script scripts/extract-ikconfig来提取出来,作为当前内核重编译或者另一个内核编译的参考。如果你的内核在运行中,可以通过/proc/config.gz文件来读取。下一个选项提供这项支持。
看起来好像是一个不错的功能,可以把编译时的 .config文件保存在内核中,以供今后参考调用。用来重编译和编译其他的内核的时候可以用上。你是一个编译内核的狂人的话,这项要选上。

        Enable access to .config through /proc/config.gz (NEW)
  上一项的子项,可 以通过/proc/config.gz 访问当前内核的.config 。新功能,上一项选的话这个就选上吧。

     1.15 Kernel log buffer size (16 => 64KB, 17 => 128KB)

   内核日志缓存的大小,12 => 4 KB13 => 8 KB14 => 16 KB单处理器,15 => 32 KB多处理器,16 => 64 KB17 => 128 KB

         1.16  Group CPU scheduler  CPU组调度器

         1.17  Control Group support  ---> 

            组控制支持,这个选项会让你像使用多CPU一样使用处理器组子系统。(不确定可以不选)

                 Example debug cgroup subsystem (NEW)  子系统调试例子

          Namespace cgroup subsystem (NEW) 子系统命名空间

          Freezer cgroup subsystem (NEW) 提供了一种方法来冻结和解冻控制器组中的所有任务

          Device controller for cgroups (NEW) 增加控制器组的设备控制器

          Cpuset support (NEW) 只有含有大量CPU(大于16)SMP系统或NUMA(非一致内存访问)系统才需要它

          Simple CPU accounting cgroup subsystem (NEW)简单cgroup子系统cpu所花费的时间

          Resource counters (NEW)这个选项允许控制器独立统计与控制器组共同工作的基础设施资源。

     * 1.18  Create deprecated sysfs layout for older userspace tools

           创建适用于老用户空间工具的sysfs布局

        -*-  1.19 Kernel->user space relay support (formerly relayfs)
                   继电器接口支持

    * 1.20 Namespaces support 命名空间支持,允许服务器为不同的用户信息提供不 同的用户名空间服务

      1.21  UTS namespace通用终端系统的命名空间。它允许容器,比如Vservers利用UTS命名空间来为不同的服务器提供不同 的UTS。如果不清楚,选N  

          1.22  IPC namespace IPC命名空间,不确定可以不选

      1.23 User namespace(EXPERIMENTAL) 允许例如V服务器之类的容器用命名空间来给不同的服务器提供不同的用户面板

          1.24 PID Namespaces (EXPERIMENTAL)  支持进程的 ID 命名空间

          1.25 Network namespace  允许用户空间创造类似于网络堆栈之类的多个实例

         * 1.26  Initial RAM filesystem and RAM disk (initramfs/initrd) suppor 

              初始RAM的文件和RAM磁盘( initramfs /initrd)支持(如果要采用initrd启动则要选择,否则可以不选)

      1.27  Initramfs source file(s)

       这既可以是一个单一的以.cpio后缀的cpio存档也可以是构建用来initramfs镜像的用空格分隔的目录和文件。

     *1.28 Optimize for size  (默认是选择的)

       这个选项将在GCC命令后用 “-Os”代替 “-O2″参数,这样可以得到更小的内核。没必要选。一个编译好的内核才710M,大家不会少这么点空间吧。

            选上了可能会出一些问题。最好不选。有时会产生错误的二进制代码。

      1.29 Configure standard kernel features (for small systems)  

          配置标准的内核特性(为小型系统)。这个选项可以让内核的基本选项和设置无效或者扭曲。这是用于特定环境中的,它允许非标准内核。

              你要是选它,你一定要明白自己在干什么。这是为了编译某些特殊用途的内核使用的,例如引导盘系统。

                    -*-   Load all symbols for debugging/ksymoops  装载所有的调试符号表信息,仅供调试时选择

         [ ]     Include all symbols in kallsyms
                        在kallsyms中包含内核知道的所有符号,内核将会 增大300K

         [*]     Do an extra kallsyms pass
                         除非你在kallsyms中发现了bug并需要 报告这个bug才打开该选项

      1.30   [ ] Strip assembler-generated symbols during link  

          条状的内部汇编程序生成的符号通过一个链接(符号看起来像“.Lxxx”)使他们不污染诸如get_wchan()之类的输出。

     * 1.31  [*] Disable heap randomization    禁止堆随机化

             随机化堆位置使堆利用困难,但它也破坏古老的二进制文件(包括任何基于libc5)。这个选项改变启动默认的堆随机化不可使用,

                    可以覆盖在运行时通过设置/ proc / sys / kernel /随机va空间为2。

     * 1.32 Choose SLAB allocator (SLAB)  --->     选择内存分配管理器(强烈推荐使用SLAB

                 (X) SLAB                   各种环境通用的内存分配管理器               

                 ( ) SLUB (Unqueued Allocator)   SLUB是一种能最大限度减少缓存线使用代替管理队列缓存对象的slab分配器(SLAB方法)。

                                             SLUB是默认选择的一种slab分配器

     1.33  [ ] Profiling support (EXPERIMENTAL)

               剖面支持,用一个工具来扫描和提供计算机的剖面图。支持系统评测(对于大多数用户来说并不是必须的)

     1.34    [ ] Activate markers   

                 设置一个空的函数可以调用每个标记的网站。可以动态地改变为一个探针函数。

     1.35 < > OProfile system profiling (EXPERIMENTAL) OProfile评测和性能监控工具

                      OProfile是一个分析系统能分析整个系统,包括内核,内核模块库和应用程序。
    * 1.36   [*] Kprobes       调试内核除非开发人员,否则不选

 

原创粉丝点击