Linux编译内核选项说明

news2024/9/21 4:42:40

内核功能选择

编译内核时出现的提示信息是在描述内核配置界面中的导航和操作方式。具体解释如下:

  1. Arrow keys navigate the menu: 使用箭头键可以在菜单中上下左右移动。

  2. <Enter> selects submenus ---> (or empty submenus ----): 按下回车键可以选择一个子菜单(如果有子菜单的话),或者选择一个没有子菜单的选项。

  3. Highlighted letters are hotkeys: 在菜单选项中,某些字母会被高亮显示,按下相应的字母键可以快速选择该选项。

  4. Pressing <Y> includes, <N> excludes, <M> modularizes features:

    • 按下 Y 键可以将某个功能包括在内核中,标记为 [*] built-in
    • 按下 N 键可以排除某个功能,不包括在内核中,标记为 [ ] excluded
    • 按下 M 键可以将某个功能作为模块编译,标记为 <M> module
  5. Press <Esc><Esc> to exit: 按两次 Esc 键可以退出菜单配置界面。

  6. <? for Help:? 键可以查看帮助信息。

  7. </ for Search:/ 键可以进行搜索。

  8. Legend: [*] built-in [ ] excluded <M> module < > module capable:

    • [ ] excluded 表示该功能被排除,不会编译进内核。
    • [*] built-in 表示该功能会被编译进内核,成为内核的一部分。
    • <M> module 表示该功能会被编译为模块,可以在需要时加载。
    • < > module capable 表示该功能可以被编译为模块。

这些提示帮助你理解如何在内核配置菜单中选择和管理功能。

make 编译过程中显示的任务类型

  • CALL:表示调用脚本,例如 CALL scripts/checksyscalls.sh 表示正在调用脚本 checksyscalls.sh 来检查系统调用。
  • DESCEND:进入一个子目录进行处理,例如 DESCEND objtool 表示进入 objtool 子目录进行编译。
  • CC:表示使用 C 编译器(通常是 gcc)编译某个 .c 源文件,例如 CC init/main.o 表示正在编译 init/main.c 文件,生成 main.o。
  • LD:表示链接操作,通常将多个目标文件链接成一个可执行文件,例如 LD /tmp/linux-5.16.14/tools/objtool/libsubcmd-in.o 表示在链接 libsubcmd-in.o。
  • AR:表示创建静态库(归档操作),例如 AR libsubcmd.a 表示创建归档文件 libsubcmd.a,通常是将多个目标文件打包成一个静态库。
  • MKDIR:表示创建目录,例如 MKDIR /tmp/linux-5.16.14/tools/objtool/arch/x86/lib/ 表示正在创建目标目录。
  • GEN:表示生成某个文件,通常通过脚本或工具自动生成的文件,例如 GEN inat-tables.c。
  • CHK:检查生成的文件是否需要更新,例如 CHK include/generated/compile.h。
  • UPD:更新生成的文件,例如 UPD include/generated/compile.h。
  • LINK:表示生成最终的可执行文件,例如 LINK objtool 表示正在链接生成 objtool 可执行文件。
  • WRAP:表示包装(wrap)某个工具或命令,通常是在编译过程中对某些工具进行包装,方便调用。例如,某些编译工具可能通过 WRAP 处理来生成特定功能的封装脚本。
  • SHIPPED:表示某个文件是预先准备好的,不需要重新生成,直接使用已经存在的文件。通常是在内核编译过程中,某些资源是以“已交付”(shipped)形式存在的,避免重复生成。
  • SYSHDR:表示系统头文件(System Header)。这一操作通常涉及系统头文件的处理或生成,可能是复制或创建特定的系统头文件。
  • SYNC:表示同步操作。在内核编译中,有时需要确保某些文件或过程与其他部分保持同步,例如与主机系统或其他编译步骤同步。
  • HOSTCC:表示使用主机的 C 编译器来编译目标文件。由于内核可能是为不同的架构编译的,因此主机(编译服务器或本地开发机器)上的编译工具可能与目标系统不同。HOSTCC 表示在主机环境下进行的编译。
  • HOSTLD:表示使用主机的链接器(Linker)。与 HOSTCC 类似,HOSTLD 负责在主机系统上进行的链接操作。
  • MKELF:表示创建 ELF 文件格式(Executable and Linkable Format)。ELF 是一种可执行文件和目标文件格式,常用于 Linux 和类 Unix 系统。MKELF 通常涉及将目标文件打包成 ELF 文件。
  • AS:汇编器(Assembler),用于将汇编代码编译成目标代码。例如,AS arch/x86/kernel/entry_32.o 表示使用汇编器处理汇编代码并生成 entry_32.o。
  • CPP:C 预处理器(C PreProcessor),用于处理宏定义、头文件包含等预处理操作。例如,CPP somefile.i 表示预处理某个 C 文件生成中间文件 .i。
  • CXX:C++ 编译器,用于编译 C++ 源文件。例如,CXX somefile.o 表示正在使用 C++ 编译器编译 somefile.cpp。
  • HOSTAR:用于创建静态库文件的归档操作,与主机系统相关联。例如,HOSTAR 用于主机上的归档操作,类似于 AR,但适用于本地(主机)环境。
  • INSTALL:表示安装某个目标文件或模块。例如,INSTALL modules 表示将编译好的模块安装到指定目录中。
  • MODPOST:模块后处理(Module Postprocessing)。在编译完内核模块后,MODPOST 用于检查和处理内核模块,确保其可以在内核中正确加载和使用。
  • CCLD:链接 C 编译后的文件。CCLD 是 CC 和 LD 的组合,用于处理 C 语言编译的最终链接步骤。
  • VDSO:表示编译和链接与用户空间有关的可执行代码(虚拟动态共享对象),通常出现在特定的架构代码中。例如,VDSO arch/x86/entry/vdso/vdso.so。
  • GENHDR:生成头文件(Generate Header),表示通过某个工具或脚本自动生成头文件。例如,GENHDR include/generated/autoconf.h。
  • HOSTCXX:主机 C++ 编译器,用于在主机系统上编译 C++ 文件,类似于 HOSTCC 但适用于 C++。
  • DTB:设备树二进制文件(Device Tree Blob),用于嵌入式系统和硬件设备的信息描述。通常用于将设备树文件 .dts 编译为 .dtb。
  • OBJCOPY:对象文件复制工具,用于将目标文件从一种格式转换为另一种格式。例如,OBJCOPY vmlinux vmlinux.bin。
  • STRIP:用于去除二进制文件中的符号表和调试信息,生成更小的可执行文件。例如,STRIP vmlinux。
  • CLEAN:清理生成的文件。执行 make clean 或者其他类似命令时,CLEAN 会删除编译生成的文件,以便重新编译时不产生冲突。
  • DEPMOD:依赖模块(Dependency Modules),在模块编译之后用于生成模块的依赖信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2131959.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【白话树】之 树的基本知识、存储结构和二叉树转换

快速导航 一、树的基础概念1. 树的定义&#xff1a;2. 树的特点:3. 树的常用术语&#xff1a;4. 树的简单分类&#xff1a; 二、树的存储结构1.顺序存储1) 双亲表示法2) 孩子表示法3) 双亲孩子表示法 2.链式存储1) 孩子链表表示法2) 孩子兄弟表示法 三、树、森林和二叉树的转换…

根据NVeloDocx Word模板引擎生成Word(五)

前面几篇基本上介绍完了NVeloDocx的基础用法&#xff0c;绝大部分的需求其实都是这些基础的东西&#xff0c;本篇将介绍2个不常用但是实际的业务场景&#xff1a; 1、图片列表输出&#xff1b; 比如在E6开发平台生成的客户端中&#xff0c;图片列表往往是这样显示的&#xff…

【数据结构】第八节:链式二叉树

个人主页&#xff1a; NiKo 数据结构专栏&#xff1a; 数据结构与算法 源码获取&#xff1a;Gitee——数据结构 一、二叉树的链式结构 typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left; // 左子树根节点struct BinaryT…

2024年沈阳都市圈电竞大赛 暨TGA腾讯电竞运动会辽宁省选拔赛盛大开赛

去年&#xff0c;由沈阳市体育局主办的“2023年沈阳都市圈首届电竞大赛暨TGA浑南之夏辽宁省英雄联盟选拔赛”成功举办。通过搭建赛事平台&#xff0c;营造了沈阳都市圈电竞氛围&#xff0c;促进了电子竞技全业态发展。 今年&#xff0c;“2024年沈阳都市圈电竞大赛暨TGA腾讯电…

Day24_0.1基础学习MATLAB学习小技巧总结(24)——图形对象属性值的设置和查询

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍&#xff0c;为了在这个过程中加深印象&#xff0c;也为了能够有所足迹&#xff0c;我会把自己的学习总结发在专栏中&#xff0c;以便学习交流。 参考书目&#xff1a;《MATLAB基础教程 (第三版) (薛山)》 之前的章节都是…

vue3项目实现全局国际化

本文主要梳理vue3项目实现全项目格式化&#xff0c;例如在我前面文章使用若依创建vue3的项目中&#xff0c;地址&#xff1a;若依搭建vue3项目在导航栏中切换&#xff0c;页面中所有的组件的默认语言随之切换&#xff0c;使用的组件库依旧是element-plus&#xff0c;搭配vue-i1…

LeetCode --- 414周赛

题目列表 3280. 将日期转换为二进制表示 3281. 范围内整数的最大得分 3282. 到达数组末尾的最大得分 3283. 吃掉所有兵需要的最多移动次数 一、将日期转换成二进制表示 题目本质就是将数字转成二进制字符串&#xff0c;可以类比将十进制数字的每一位拆开拼成字符串&#x…

【Redis】redis5种数据类型(list)

目录 基本介绍 命令 LPUSH LPUSHX RPUSH RPUSHX LRANGE LPOP RPOP LINDEX LINSERT LLEN LREM LTRIM LSET 阻塞版本的命令 BLPOP 内部编码 基本介绍 list相当于c的双端队列deque 区分获取和删除的区别 lindex能获取到元素的值lrem也能返回被删除元素的值 命…

一条SQL实现GPT大模型【完全看不懂】

用一条SQL实现GPT大模型&#xff0c;简直让人不可思议&#xff0c;但是俄罗斯一位名叫Quassnoi的SQL牛人做到了&#xff0c;Quassnoi每年只写一条SQL&#xff0c;但是每条SQL都非常复杂&#xff1a; 2021年&#xff0c;用SQL绘制新冠病毒的3D图片 2022年&#xff0c;用SQL模拟…

为何初创数字影像企业纷纷选择入驻孵化基地?

在当今数字化时代&#xff0c;数字影像行业正蓬勃发展&#xff0c;越来越多的初创数字影像企业如雨后春笋般涌现。而这些充满活力与创新的初创企业&#xff0c;为何纷纷选择入驻数字影像企业孵化基地呢&#xff1f; 首先&#xff0c;数字影像企业孵化基地为初创数字影像企业提供…

再次进阶 舞台王者 第八季完美童模全球赛形象大使【邱玳莹】赛场秀场超燃合集!

7月20-23日&#xff0c;2024第八季完美童模全球总决赛在青岛圆满落幕。在盛大的颁奖典礼上&#xff0c;一位才能出众的少女——邱玳莹&#xff0c;迎来了她舞台生涯的璀璨时刻。 形象大使——邱玳莹&#xff0c;以璀璨童星之姿&#xff0c;优雅地踏上完美童模盛宴的绚丽舞台&am…

基于图像级监督和自训练的跨模态肿瘤分割转换器模型|文献速递--Transformer架构在医学影像分析中的应用

Title 题目 Image-level supervision and self-training for transformer-basedcross-modality tumor segmentation 基于图像级监督和自训练的跨模态肿瘤分割转换器模型。 01 文献速递介绍 深度学习在各种医学图像分析应用中展现了出色的性能和潜力&#xff08;Chen等&…

C语言 12 函数

其实函数在一开始就在使用了&#xff1a; // 这就是定义函数 int main() { ... }程序的入口点就是main函数&#xff0c;只需要将程序代码编写到主函数中就可以运行了&#xff0c;不过这个函数只是由我们来定义&#xff0c;而不是我们来调用。 当然&#xff0c;除了主函数之…

SMT | Kriging代理模型原理及应用

前言 代理模型工具箱 (surrogate modeling toolbox, SMT) 是一个基于Python开发的第三方包&#xff0c;其中包含代理模型方法、采样技术和基准测试函数。有关SMT的详细介绍参见&#xff1a; SMT | 代理模型Python工具包推荐 SMT可实现几个与高斯过程回归相关的代理模型&#x…

串口输出时:英文正常输出、中文乱码输出

一、问题&#xff1a;英文正常输出&#xff0c;英文乱码输出 二、解决方法 1、查看自己使用的串口助手的编码格式 2、查看自己使用输出的文件编码格式 以记事本的格式查看&#xff0c;原则上这两种应该保持相同&#xff0c;如果不相同&#xff0c;就需要把这个文件去另保存一…

图像与文本并存,多模态检索如何带来新的搜索革命

01 火热的多模态智能 回顾到2024的大型语言模型&#xff08;LLM&#xff09;的发展&#xff0c;让人欣喜的一点是scaling law依然奏效&#xff0c;智能随着资源的提高继续提高。但另一个让人担忧的点是高质量的文本语料似乎即将触及上限。为了加入更多的数据喂给模型&#xff0…

体育场座位【python实现】

题目来自此处 def main():seats list(map(int,input().split()))count 0for i in range(len(seats)):if seats[i] 0:if (i 0 or seats[i-1] 0) and(i len(seats)-1 or seats[i1] 0):count 1seats[i] 1print(seats)print(count) if __name__ "__main__":mai…

Win11 eNSP安装

前言 新买的电脑&#xff0c;安装eNSP总会遇到一些问题。如果你之前就是做网络安全而现在需要安装eNSP&#xff0c;你可能会因为安装过Wireshark导致一些问题。所以这里就为大家综合一篇文章&#xff0c;修复一些简单的问题。 下载地址&#xff1a;https://pan.baidu.com/s/17p…

Shell:初识sed、awk

Linux系统提供了两个常见的具备上述功能的工具。本节将会介绍Linux世界中最广泛使用的 两个命令行编辑器:sed和gawk。 1. sed编辑器 sed编辑器被称作流编辑器(stream editor)&#xff0c;流编辑器则会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可…

会做“减法”的项目经理,在工作中赢麻了!

都说我们在生活中要学会“断舍离”&#xff0c;其实工作中的一些事项、流程&#xff0c;也可以尽量精简&#xff01;对于项目经理来说也是如此&#xff0c;每天会议很多、需求不断&#xff0c;要适当做好“减法”&#xff0c;才能更好朝着目标方向前进&#xff01; 01、什么是做…