linux内核的基础知识(配置内核) --基于嵌入式开发

时间:2021-09-24 19:42:26

linux内核的基础知识(配置内核)

----make menuconfig


1、内核源码目录

参考朱有鹏的UBOOT视频部分:

我们首先打开一个经过自己的补丁配置的内核文件,可以首先观察一下,

它的主要源码目录。

linux内核的基础知识(配置内核) --基于嵌入式开发

linux内核的基础知识(配置内核) --基于嵌入式开发


2、内核源码配置的主要文件

在上一讲的博客当中,我们对Linux内核的源代码目录进行了一些了解,

今天我们主要讨论,我们到底是怎么配置内核的?我们配置内核需要那几个文件的支持。


我们在内核配置的时候,一般都会使用到make menuconfig 指令,然后就会出现一个

类似于图形化界面的东西来配置内核,当然你也可以自己手工自己去修改.config文件。


主要有三种文件:Kconfig 、.config 、makefile

Kconfig : 就是make menuconfig得出的命令后出现的那个界面的初始化值的存放的地方。

linux内核的基础知识(配置内核) --基于嵌入式开发

                                                                                     menuconfig文件


韦东山视频当中直接(经过补丁文件)将其复制为.config,可以从图上面的左上角可以看出来,make menuconfig

是从.config文件中读取出来的,并且保存在.config文件当中。

linux内核的基础知识(配置内核) --基于嵌入式开发

                                                                     .config文件



1、menuconfig 和.config的关系

     在menuconfig图形化界面里面配置内核的东西,会被保存在内核配置文件.config当中。


2、menuconfig和Kconfig的关系

    在menuconfig图形化界面里面配置内核的东西,里面的东西是需要初始化的,就是从这个文件

    当中读取出来,并显示出来的。


3、menuconfig和Makefile的关系

(1)我找一个模块,把他配制成y,然后去make编译连接,最后得到的zImage中这个模块就应该被编译连接进去到zImage中了。
验证:
方法一:去这个模块对应的源代码目录看一下这个源码有没有被编译
方法二:去zImage对应的elf格式的vmlinux中查看符号
方法三:将vmlinux反编译(objdump)后得到的文件中找模块对应的符号
方法四:将zImage下载到开发板中启动,启动后看你的模块能不能工作