Linux内核的配置是创建一个能运行于目标系统上的内核的第一步。内核的配置过程其实就是内核的裁剪过程。嵌入式Linux内核要针对具体的嵌入式设备平台软、硬件的需要,裁减掉一些不必要的功能,这样可以更好地节省系统资源,提高系统运行效率。内核配置有很多种方法,在配置内核过程中有很多选项需要选择。
Linux内核的配置系统由3部分组成:
1)Makefile:分布在Linux内核源代码中的Makefile,定义Linux内核的编译规则。
2)配置文件(config.in):给用户提供配置选择的功能。
3)配置工具:包括配置命令解释器(对配置脚本中使用的命令进行解释)和配置用户界面(提供基于字符界面、基于Ncurses图形界面和基于Xwindows图形界面的用户配置界面)。
这些配置工具都是使用脚本语言的,如使用Perl编写的。
在内核中,Makefile的作用是根据配置的情况构造出需要编译的源文件列表,然后分别编译,并把目标代码链接在一起,最终形成Linux内核的二进制文件。Linux内核源代码是按照树形目录组织的,所以Makefile也被分布在目录树中。Linux内核中的Makefile及与Makefile直接相关的文件如下。
●Makefile:顶层Makefile,是整个内核配置、编译的总体控制文件。
●.config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果。
●arch/*/Makefile:位于各种CPU体系目录下的Makefile,是针对特定平台的Makefile。
●各个子目录下的Makefile:负责所在子目录下源代码的管理。
●Rules.make:规则文件,被所有的Makefile使用。
无论采用哪种方法或哪些选项配置内核,内核都会在配置完成后生成一个.config文件。顶层Makefile读入.config中的配置选择,还会产生大量的符号连接和头文件,这些在其余的创建过程中会用到。.config文件中保存了根据在menuconfig中选择定义的相应变量,在Linux内核目录下的Makefile文件中将会包含这个文件。
内核配置方法有以下几种:
1)makeconfig:基于文本的最为传统的配置界面,进入命令行,可以一行一行地配置,该方法较烦琐。
2)makemenuconfig:基于文本菜单的配置界面,是字符终端下常用的方式。
3)makexconfig:基于图形窗口模式的配置界面,Xwindow下推荐使用。(www.xing528.com)
4)makeoldconfig:自动读入“config”配置文件,并且只要求用户设定前次没有设定过的选项。在这4种方法中,makexconfig界面最友好,可以使用鼠标选择对应的选项。如果使用Xwindow,建议使用这个命令;如果不是使用Xwindow,建议使用makemenuconfig,需要用空格键进行选取。选择相应的配置时,有3种选择,它们代表的含义分别如下:
●“Y”-将该功能编译进内核。
●“N”-不将该功能编译进内核。
●“M”-将该功能编译成可以在需要时动态插入到内核中的模块。
进行配置时,大部分选项可以使用默认值,只有小部分需要根据用户不同的需要选择。其中比较重要的选项如下所示:
●CodeMaturityLevelOptions(内核成熟级别选项)。
●LoadableModuleSupport(可加载模块支持)。
●GeneralSetup(通用设置)。
●MemoryTechnologyDevices(内存技术设备)。
●BlockDevices(块设备)。
●NetworkDeviceSupport(网络设备支持)。
●CharacterDevices(字符设备)。
●Filesystems(文件系统)。
●ConsoleDrivers(控制台设备)。
在完成配置之后,就可以保存退出。
在配置Linux内核时,遇到不懂含义的配置选项,可以查看它的帮助,从中得到选择的建议。所有配置选项的帮助信息都在Document/Configure.help中。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。