Linux内核配置和编译

来源:互联网 发布:淘宝内购价群是真的吗 编辑:程序博客网 时间:2024/04/27 15:23

总是忘记,不得不写下记忆。

看看Linux内核配置和编译的总思路:

现在按照总思路一点点理解和操作:

问题:为什么需要配置内核?

答:内核是运行在硬件之上的,CPU是执行内核的主脑,内存是存放数据,而你用来运行内核的硬件有多种,每种都有自己一套底层的驱动配置代码,那么你就得需要将与特定硬件的代码编译进内核,这就需要你配置内核,让它能运行在你手中的硬件之上。

问题:如何配置内核呢?

答:make oldconfig、make xconfig、make config和make menuconfig。比较倾向使用最后面那种图形配置界面,在终端执行make menuconfig之后会有一图像界面,直接配置内核。

问题:内核配置结果存放在哪里?

答:linux源代码顶层目录下的.config文件,就是说在执行make menuconfig配置内核后会在顶层生成一个.config文件。

一般来说linux内核配置选项比较多,无从下手。一般可以使用厂商提供的.config文件,或者现在假如你使用的是arm平台,那么/home/wk/linux/linux-2.6.39/arch/arm/configs里有大量默认的配置文件,找到和你硬件CPU型号接近的配置文件,通过修改得到配置文件,cp xxx_defconfig 到内核源码顶目录为.config,执行make menuconfig ARCH=arm后保存(切记要保存),若是编译x86的话则不需在后面添加ARCH的参数,通常基本的配置是处理器配置,网络支持,文件系统,对于自己不了解的一般不去修改。

按照上面的思维导图来配置编译的话,是编译在X86平台的内核。

配置内核:

x86:make menuconfig (缺省平台式x86)

arm:make menuconfig ARCH=arm

编译内核:

x86:make bzImage

arm:make uImage ARCH=arm CROSS_COMPILE=arm-linux-

会在arch/$(cpu)/boot下生成相应的bzImage或者是uImage



0 0
原创粉丝点击