Linux内核的编译主要过程:配置、编译、安装。
Kconfig
用于内核的配置,make menuconfig
显示的菜单就来自Kconfig
。
(资料图片)
make menuconfig
的菜单包括了多层,每层都是各个目录下对应的Kconfig
产生的,选择好配置后,配置结果会被保存到.config
文件中。
执行Makefile
时,Makefile
就会根据.config
的结果来实现内核的编译。
Kbuild
即Kernel build
,是内核的一个编译系统。
简单来说,Kbuild
是对Makefile
语法功能的扩展。
例如,kbuild
定义了很多有用的变量如obj-m`` obj-y
,-objs
等等,用户只要为这些变量赋值,kbuild
会自动把代码编译到内核或者编译成模块。
Linux
内核使用kbuild
编译时,会扫描两次Linux
的Makefile
:首先读取顶层的Makefile
文件,然后根据读取到的内容第二次读取kbuild的Makefile
文件来编译Linux
内核。
内核的Makefile
包括五部分:
顶层的Makefile
是编译的入口,下面分析一下顶层Makefile
文件。
顶层Makefile
会向各子目录的Makefile
传递一些信息,有些变量,例如vmlinux-dirs
,不仅在顶层Makefile
中定义并且赋值,而且在arch/*/Makefile
还作了扩充。
kbuild的更多用法,详细参考内核源码文档:
Documentation/kbuild/makefiles.txt
Documentation/kbuild/modules.txt
关键词:
56位残疾人士登上黄山 互利互勉共建生活希望 中国新闻网
Linux驱动工程师必知的内核编译机制 面包芯语
网络游戏板块持续拉升,盛天网络涨超8% 界面新闻
无须购票,“码”上过闸,随到随走 焦作晚报
原神隐众游园全绮光彩灯解谜方法 游戏资讯网
活跃资本市场 证券行业大有可为 览富财经网
孟桐个人简历图片(孟桐) 互联网
100分钟绝平,点球4-1!阿森纳逆转夺冠,曼城6冠王美梦破碎 我的护球最独特