首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>系统管理>内核技术>正文

详细解析 Linux内核的主要配置选项

http://www.oklinux.cn  2007-04-25  来源:           会员收藏  游客收藏  【 】 

配置内核的命令是:

# make config 文本配置方式

# make menuconfig 菜单配置方式

# make xconfig 图形界面配置方式

我们可以采用任何一个命令配置内核,一般推荐使用make menuconfig来配置内核。

一.代码成熟度选项

Code maturity level options  --->

[*] Prompt for development and/or incomplete code/drivers

[*]   Select only drivers expected to compile cleanly

在内核中包含了一些不成熟的代码和功能,如果我们想使用这些功能,想打开相关的配置选项,就必需打开这一选项。

二.通用设置选项

General setup  --->

()  Local version - append to kernel release

[*]  Automatically append version information to the version string

[*]  Support for paging of anonymous memory (swap)

[*]  System V IPC

[*]  POSIX Message Queues

[*]  BSD Process Accounting

[*]  BSD Process Accounting version 3 file format

[*]  Sysctl support

[ ]  Auditing support

[*]  Support for hot-pluggable devices

[*]  Kernel Userspace Events

[*]  Kernel .config support

[*]  Enable access to .config through /proc/config.gz

()   Initramfs source file(s)

[*]  Configure standard kernel features (for small systems)  --->

         --- Configure standard kernel features (for small systems)

         [ ]   Load all symbols for debugging/kksymoops

         [ ]    Do an extra kallsyms pass

         [ ]    Enable support for prinlk

         [ ]    BUG()support

         [ ]   Enable full-sinzed data structures for core

         [*]   Enable futex support

         [*]   Enable eventpoll support

         [*]   Optimize for size

         [*]   Use full shmem filesystem

         (0)   Function alignment

         (0)   Label alignment

         (0)   Loop alignment

         (0)   Jump alignment

Local version - append to kernel release:这里填入的是64字符以内的字符串,你在这里填上的字符口串可以用uname -a命令看到。

Support for paging of anonymous memory (swap):这是使用交换分区或者交换文件来做为虚拟内存的,当然要选上了。

System V IPC:表示系统5的Inter Process Communication,它用于处理器在程序之间同步和交换信息,如果不选这项,很多程序运行不起来的。

POSIX Message Queues:这是POSIX的消息队列,它同样是一种IPC。建议你最好将它选上。

BSD Process Accounting:这是充许用户进程访问内核将账户信息写入文件中的。这通常被认为是个好主意,建议你最好将它选上。

Sysctl support:这个选项能不重新编译内核修改内核的某些参数和变量,如果你也选择了支持/proc,将能从/proc/sys存取可以影响内核的参数或变量。建议你最好将它选上。

Auditing support:审记支持,用于和内核的某些子模块同时工作,例如SELinux。只有选择此项及它的子项,才能调用有关审记的系统调用。

Support for hot-pluggable devices:是否支持热插拔的选项,肯定要选上。不然USB、PCMCIA等这些设备都用不了。

Kernel Userspace Events:内核中分为系统区和用户区,这里系统区和用户区进行通讯的一种方式,选上。

Kernel .config support:将.config配置信息保存在内核中,选上它及它的子项使得其它用户能从/proc中得到内核的配置。

Configure standard kernel features (for small systems):这是为了编译某些特殊的内核使用的,通常你可以不选择这一选项,你也不用对它下面的子项操心了。

Load all symbols for debugging/kksymoops:是否装载所有的调试符号表信息,如果你不需要对内核调试,不需要选择此项。

Enable futex support:不选这个内核不一定能正确的运行使用glibc的程序,当然要选上。

Enable eventpoll support:不选这个内核将不支持事件轮循的系统调用,最好选上。

Optimize for size:这个选项使gcc使用-Os的参数而不是-O2的参数来优化编译,以获得更小尺寸的内核,建议选上。

Use full shmem filesystem:除非你在很少的内存且不使用交换内存时,才不要选择这项。

后面的这四项都是在编译时内存中的对齐方式,0表示编译器的默认方式。使用内存对齐能提高程序的运行速度,但是会增加程序对内存的使用量。

三.可加载模块

Loadable module support  --->
[*] Enable loadable module support
[*] Module unloading
[ ]     Forced module unloading
[*] Module versioning support (EXPERIMENTAL)
[ ] Source checksum for all modules
[*] Automatic kernel module loading

Enable loadable module support,很多人喜欢将全部功能、硬件支持一股脑的编进内核,而不是使用模块的方式。这样做非常不好(个人觉得)。其实我也做过嵌入式的开发,在针对特定硬件的平台下尽可能将内核编小,将始终是支持模块加载的。例如我们开发的防火墙就是做为内核的模块被加载的。使用模块支持,你的系统能具有更好的可扩充性。还有一个原因就是自己编写的功能模块、设备驱动模块(假设编写的质量不高)以模块方式工作引起Kernel Panic的机率要远远低于不支持模块全部编进内核的方式。讲了这么多,终于可以理直气壮的选上这一功能了。

Module unloading,不选这个功能,加载的模块就不能卸载。没什么需要多解释的,建议最好选上。

Forced module unloading,这个选项能强行卸载模块,即使内核认为这样并不安全,也就是说你可以把正在使用中的模快卸载掉。如果你不是内核开发人员或者骨灰级的玩家,不要选择这个选项。

共2页: 上一页 1 [2] 下一页

上一篇: 定制Linux内核 充分发挥系统的潜能   下一篇: Linux内核分析方法


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
· Linux内核分析方法
· 定制Linux内核 充分发挥系统的潜能
· 内核中的物理内存分配函数kernel api
· 内核操作 Linux2.6内核驱动移植参考
· 介绍RedHat AS4内核配置更改再编译
· 一次即大功告成 Linux内核升级全过程
· 如何编译Linux的内核
· 更换Fedora Core 6的内核
· Linux内核编译完整过程
· Linux操作系统内核编码风格
· Linux重新编译内核指南
· 揭开Linux系统内核调试器的神秘面纱
· linux2.6内核编译
· Linux内核2.6简介
· Linux内核下载
· Linux系统内核的同步机制“自旋锁”
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·学习园地:Linux系统内核中判断大小的
·系统编译:如何给Make命令来传递参数
·Linux 2.6内核中sysfs文件系统简单概述
·Fedora 8 Linux系统的内核配置注意事项
·升级Linux内核的一般步骤方法
·Linux发行版知识普及:三个版本的CPUID
·编译安装Virtualbox驱动模块
· Linux系统的内核解读入门
·新手学堂 Linux系统的内核解读入门
·Linux系统内核中网络参数的意义及其应
·走向Linux系统高手之路 内核编译过程解
·Linux系统中安装内核的方法详细介绍
  阅读排行
· 深入理解LINUX内核中文版下载地址
·基于S3C44B0微处理器的uClinux内核引导
·Kernel command using Linux system ca
·Linux 2.6内核如何武装Fedora Core 2
·Process priority and control on AIX
·Linux操作系统的内核编译内幕详解
·推荐:Linux用户态与内核态的交互
·通过振动向Linux ThinkPad传输信息
·Linux操作系统源代码详细分析(二)
·Linux系统内核接收以太帧的处理程序
·Linux and symmetric multiprocessing
·主流嵌入式Linux系统下GUI解决方案
·揭秘Linux内核调试器之内幕
·用命令行加挂Linux的文件系统简介
·Linux内核和核心OS组件的测试与分析
网摘收藏: