Linux内核配置浅析

1、Linux Kernel Kconfig系统的基本结构

Linux内核的配置系统由三个部分组成,分别是:

1>、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则;

2>、Kconfig:分布在 Linux 内核源代码根目录及各层目录中,给用户提供配置选择的功能;

3>、.config:保存了配置选项结果;

4>、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。这些配置工具都是使用脚本语言,如 Tcl/TK、Perl 编写的(也包含一些用 C 编写的代码)。该部分的代码在linux-3.18.42/scripts目录下。

2、Linux Kernel 配置

假如我们基于ARM的开发板配置内核,常用的方法有两个:

方法一(不推荐):修改内核源码顶层目录下的Makefile文件,将其中ARCH ?= $(SUBARCH)修改为ARCH ?= arm(指定目标处理器的架构,内核跑在ARM芯片上则把该项指定为arm),将CROSS_COMPILE  ?= 修改为CROSS_COMPILE  ?= arm-linux-gcc(指定交叉编译工具,在配置内核的时候可以不指定,但是在编译内核的时候一定要指定);然后内核的根目录下运行make menuconfig(或者是Make config、make xconfig)命令后,会弹出一个配置界面。

方法二:直接通过命令行把ARCH、CROSS_COMPILE变量传递到内核根目录下的Makefile文件中。在内核的根目录下运行make ARCH=arm menuconfig(或者是Make ARCH=arm config、make ARCH=arm  xconfig)命令后,会弹出一个配置界面。

当把所有选项都配置好,点击save保存后,会在内核的根目录下生成一个.config文件。该文件记录了我们对内核所做的配置。在编译内核的时候,内核的Kbuild系统会根据该文件去编译内核源代码。一般我们会把该.config文件拷贝到内核根目录下的arch/arm/configs/文件夹下,并重命名为xxx_defconfig(xxx一般为对应的开发板名称)。

时间: 2024-10-07 01:03:31

Linux内核配置浅析的相关文章

linux内核配置 kbuild

Linux 内核配置机制 http://blog.csdn.net/dianhuiren/article/details/6917132 linux kbuild文档 http://blog.chinaunix.net/uid-10221131-id-2943265.html

Tiny4412 Linux 内核配置流程

1.配置交叉编译器 默认情况下,内核构建的是与宿主机相同的体系架构镜像.如果要交叉编译,需要设置两个变量ARCH和CORSS_COMPILE. ①ARCH:指明目标体系架构,如x86.arm.mips等. ②CROSS_COMPILE:指定使用的交叉编译器的前缀.例如arm-linux-.在内核顶层的Makefile中,可以看到工具链中的编译器.链接器等都是以$(CROSS_COMPILE)作为前缀. AS = $(CROSS_COMPILE)as LD = $(CROSS_COMPILE)ld

[国嵌攻略][099][Linux内核配置与编译]

为什么要配置内核 基于硬件和软件的需求选出需要的功能,去掉不要的功能. 内核配置的方法 make config:基于文本交互的配置. make menuconfig:基于图形菜单的配置. make menuconfig配置方法 1.菜单项的分类 processor type and features   处理器类型 networking support            网络协议支持 device drivers                设备驱动支持 file systems     

LINUX内核配置与编译

移植LINUX内核,就是为了让LINUX系统在自己的硬件平台上运行起来,能正常工作.其中最重要的还是驱动的移植,只有驱动程序能驱动硬件设备,上层的应用程序才能正常运行. 目前,LINUX支持内核的系列主要有以下,解压linux-3.5-20131028.tgz文件,进入到文件夹里面, 除了arch文件夹里面,都是大多数平台相同的文件: 在kernel文件夹里面,包含着一些内核的文件: 在arch文件里面是支持的各种平台文件,里面是一些芯片公司支持的一些驱动程序: 一般来说,LINUX系统剪裁都分

linux 内核配置参考

对于每一个配置选项,用户可以回答"y"."m"或"n".其中"y"表示将相应特性的支持或设备驱动程序编译进内核:"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去:"n"表示内核不提供相应特性或驱动程序的支持.只有<>才能选择M 1. General setup(通用选项) [*]Prompt for development 

Linux内核配置、编译及Makefile简述

Hi,大家好!我是CrazyCatJack.最近在学习Linux内核的配置.编译及Makefile文件.今天总结一下学习成果,分享给大家^_^ 1.解压缩打补丁 首先是解压缩你获取到的Linux内核.这里我用到的是linux.2.22.6版本的内核.在Linux下命令行通过tar xjf linux.2.22.6.tar.bz2解压内核.然后,如果你需要对这个内核打补丁的话,用patch命令:patch -px <../linux.2.22.6.patch.这里的px指的是忽略掉补丁文件中描述的

Linux内核配置

1 开发环境 宿主机:Ubuntu16.04 开发板:Mini2440 内核版本:2.6.34.7 2 下载与解压 下载linux-2.6.34.7.tar.bz2并解压: tar -axvf linux-2.6.34.7.tar.bz2 3 默认配置 进入内核源码顶级目录执行: make defconfig 输出如下: [email protected]:~/Mini2440/Kernels/linux-2.6.34.7$ make defconfig HOSTCC scripts/basic

Linux内核配置---menuconfig

1. 示例 config SGI_NEWPORT_CONSOLE tristate "SGI Newport Console support" depends on SGI_IP22 select FONT_SUPPORT help Say Y here if you want the console on the Newport aka XL graphics card of your Indy. Most people say Y here. config DUMMY_CONSOL

操作系统 之 哈希表 Linux 内核 应用浅析

1.基本概念         散列表(Hash  table.也叫哈希表).是依据关键码值(Key  value)而直接进行訪问的数据结构. 也就是说,它通过把关键码值映射到表中一个位置来訪问记录.以加快查找的速度. 这个映射函数叫做散列函数.存放记录的数组叫做散列表. 2. 经常使用的构造散列函数的方法 散列函数能使对一个数据序列的訪问过程更加迅速有效.通过散列函数.数据元素将被更快地定位.散列表的经常使用构造方法有: (1)直接定址法 (2)数字分析法 (3)平方取中法 (4)折叠法 (5)