linux内核makefile编译生成内核目标文件的过程,Linux内核编译过程

1 内核编译过程

学习Linux内核除了必备的基础知识、搭建Linux环境、下载内核源码和准备相关资源之外,第一件要做的事情应该就是编译自己的Linux内核,然后运行编译出来的内核。内核从配置,到编译,再到安装的命令非常简单,只要按顺序执行下面几个命令就可完成:

1.内核配置:make menuconfig

2.内核编译:make

3.安装模块:make modules_install

4.安装内核:make install

按顺序执行完上面的命令后,重启Linux系统,就是启动刚编译好的内核了。虽然Linux内核的编译很简单,但若想进一步的学习和定制Linux,就必须进一步了解内核编译过程及原理。下面详细的介绍Linux内核的编译过程。

虽然Linux内核按默认的配置和编译很简单,但若想进一步的学习、定制和开发内核,就必须进一步了解内核编译过程及原理。下面按内核的编译顺序进行详细的介绍。

1.1 内核配置

Linux内核在下载解压后需要先配置然后才能编译。源码树的每个目录下都有一个文件Kconfig,这个分布到各目录的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文档相关的内核配置菜单。在执行内核配置命令时,从Kconfig中读出菜单的信息供用户进行选择,配置的命令如下:

1)make config:基于文本的最为传统的一行一行的配置命令配置,不推荐使用。

2)make menuconfig:基于文本选单的配置界面,字符终端下推荐使用。

3)make xconfig:基于图形窗口模式的配置界面,Xwindow下推荐使用。

以上命令会在scripts/kconfig/目录下生成一个小工具,如:make menuconfig会生成mconf,然后用这个小工具根据各级目录的Kconfig文件在界面上展现选项供用户选择,执行完后生成一个.config文件保存用户的内核配置选项,选择相应的配置时,有三种选择,它们分别代表的含义如下:

Y--将该功能编译进内核。

N--不将该功能编译进内核。

M--将该功能编译成可以在需要时动态插入到内核中的模块。

make menuconfig命令运行界面就是由mconf小工具显示的,界面如下:

linux内核makefile编译生成内核目标文件的过程,Linux内核编译过程_第1张图片

根据自己的需要选择适当的配置项,如果没有特别的目的,按默认值配置即可,配置程序结束将在源码主目录生成一个.config文件,在内核编译时,主Makefile调用这个.config就知道了用户的选择了。

1.2 编译内核

从Lin

你可能感兴趣的:(linux内核makefile编译生成内核目标文件的过程,Linux内核编译过程)