linux内核的基础知识(配置内核)
----make menuconfig
1、内核源码目录
参考朱有鹏的UBOOT视频部分:
我们首先打开一个经过自己的补丁配置的内核文件,可以首先观察一下,
它的主要源码目录。
2、内核源码配置的主要文件
在上一讲的博客当中,我们对Linux内核的源代码目录进行了一些了解,
今天我们主要讨论,我们到底是怎么配置内核的?我们配置内核需要那几个文件的支持。
我们在内核配置的时候,一般都会使用到make menuconfig 指令,然后就会出现一个
类似于图形化界面的东西来配置内核,当然你也可以自己手工自己去修改.config文件。
主要有三种文件:Kconfig 、.config 、makefile
Kconfig : 就是make menuconfig得出的命令后出现的那个界面的初始化值的存放的地方。
menuconfig文件
韦东山视频当中直接(经过补丁文件)将其复制为.config,可以从图上面的左上角可以看出来,make menuconfig
是从.config文件中读取出来的,并且保存在.config文件当中。
.config文件
1、menuconfig 和.config的关系
在menuconfig图形化界面里面配置内核的东西,会被保存在内核配置文件.config当中。
2、menuconfig和Kconfig的关系
在menuconfig图形化界面里面配置内核的东西,里面的东西是需要初始化的,就是从这个文件
当中读取出来,并显示出来的。
3、menuconfig和Makefile的关系
(1)我找一个模块,把他配制成y,然后去make编译连接,最后得到的zImage中这个模块就应该被编译连接进去到zImage中了。
验证:
方法一:去这个模块对应的源代码目录看一下这个源码有没有被编译
方法二:去zImage对应的elf格式的vmlinux中查看符号
方法三:将vmlinux反编译(objdump)后得到的文件中找模块对应的符号
方法四:将zImage下载到开发板中启动,启动后看你的模块能不能工作