Linux内核编译的选项 m,编译内核选项!~~

本文介绍了Linux内核配置的重要选项,包括CPU支持、多处理器、预编译内核模块等,针对桌面系统优化提供指导。推荐使用qconf配置工具,强调了抢占式内核、多核调度、高内存支持等设置对桌面性能的影响。建议根据系统需求选择内核配置,以提高响应能力和系统资源利用率。
摘要由CSDN通过智能技术生成

在正式介绍之前先作几点声明:

1)由于linux内核实在是太庞大了,涉及的内容包罗万象,我自己的水平也很有限,所以我不可能将内核配置的方方面面都写出来,本文中我只是将我认为最

重要的一些部分作一个介绍。当然,仁者见仁,智者见智,也许我认为重要的其他人不觉得重要,反之亦然,所以欢迎大家对本文进行补充,也欢迎大家对错误之处

进行指正。

2)本文介绍的内核配置是针对i386体系结构,对其它体系结构不完全适用(当然大部分也适用)。

3)本文在介绍内核配置的过程中假设你的ubuntu是以桌面应用为主要目的,也就是说我对内核配置的推荐做法都是在保证系统吞吐量(throughput)的情况下尽最大可能性来提高系统的响应能力(responsiveness)。

4)本文仅仅针对2.6.x内核,参考的内核是2.6.20。

5)本文只介绍对内核的配置,并不会介绍如何从头到尾编译出一个内核,因此请对编译内核的步骤还不太清楚的弟兄们先参考一些相关的文章。

本文所指的内核配置其实最核心的东西就是一个文件,这个文件名为.config,位于内核源码的根目录下。这个文件在你刚刚将内核源码解压缩后并不存在,需要你进行过一次配置后才会产生出来。这个文件是一个文本文件,里面有许多行信息,这些信息决定了在你编译内核的时候要支持哪些特性以及哪些模块。下面举两个例子,比如在我的.config文件中有一行为:CONFIG_SMP=y,这就表示我编译的内核要支持对称多处理器(Symmetric multi-processing),这意味着在编译内核的c文件时会定义一个叫CONFIG_SMP的宏;另外还有一行:CONFIG_NTFS_FS=m,这一行表示编译内核的过程中要编译出一个支持NTFS文件系统的可加载内核模块(LKM,loadable kernel module)。

上面的例子中提到了可加载内核模块(LKM,loadable kernel

module)的概念,我在这里有必要对这个概念进行一些介绍。首先说linux是单内核(monolithic

kernel)结构的,linux编译后可以视为一个大的程序,这个程序为所有的调用者提供服务(当然,内核中还有许多的内核线程在运转着)。那么凡是需

要支持的功能(比如对某种硬件的支持)都应该编译进内核的镜像中去,但世界上有成千上万种硬件设备,如果把支持它们的程序都编译进内核镜像中去会导致内核

过于庞大,而且这些设备并不是在每台机器上都有,实际上常用的也就那么几十种而已,把它们都编译进内核镜像也会造成大量的浪费。所以内核的开发者们设计出

一种能够动态地增加内核功能的机制---可加载内核模块(LKM,loadable kernel

module,本文以后简称LKM),LKM可以在需要的时候动态地加载到内核中去,一旦加载上就成为了内核的一部分,从而扩展了原有内核的功能(读者可

以用/sbin/lsmod来观看系统中有哪些LKM被加载了)。上面提到的CONFIG_NTFS_FS=m会使编译内核的工具将支持NTFS文件系统的程序编译为一个LKM。如果将这一句话改为CONFIG_NTFS_FS=y那么就会使得实现NTFS文件系统的程序被直接编译到内核的镜像中去。

总体来讲,内核配置的过程就是编辑.config文件的过程。当然你可以用任何一个文本编辑器来手工编辑.config文件,不过如果真的决定这样做,我只能说愿佛祖保佑你

icon_smile.gif

在.config文件中可以编辑的条目达数千之多,为了简化编辑过程,内核的开发者们开发出了一些工具专门用于编辑.config文件,这些工具都附带在

内核的源码压缩包中,但是这些工具在第一次使用的时候要进行编译才能使用(因为linux内核源码包不能直接将binary的文件打进去,毕竟它要在各种

硬件平台下使用)。因此使用这些工具之前,你的ubuntu必须安装相应的开发环境,比如GTK或者QT的开发环境,关于如何安装这些环境许多文章都讲

过,我就不赘述了。这几个工具都可以在内核源码的根目录下通过输入make xxx命令的方法来调用,下面分别介绍。

1)menuconf

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值