深入解析内核源码树:Kconfig 文件与 Makefile 的协同作用

原理

内核源码树每位目录下都还包含一个Kconfig文件,用于描述所在目录源代码相关的内核配置菜单,各个目录的Kconfig文件构成了一个分布式的内核配置数据库。

通过makemenuconfig命令配置内核的时侯,从Kconfig文件读取菜单存储技术原理分析:基于linux 26内核源代码,配置完毕保存到文件名为.config的内核配置文件中,供Makefile文件在编译内核时使用。

源码目录树顶楼Makefile是整个内核源码管理的入口,对整个内核的源码编译起着决定性作用。编译内核时linux c,顶楼Makefile会按规则递归历遍内核源码的所有子目录下的Makefile文件,完成各子目录下内核模块的编译。

配置内核

步入Linux内核源码数顶楼目录,输入makemenuconfig命令百度网盘LINUX,可以步入基于Ncurses的Linux内核配置主界面,假如没有在Makefile手指定ARCH,则须在命令行手指定:

make ARCH=arm menuconfig

登录后复制

一级目录

一级菜单下的每一项几乎都有复杂的下级子菜单,各自的配置选项也很丰富,假如逐一进行描述,将会是一件十分繁杂的事。而实际产品开发中,并不须要完全了解内核的每一个配置项,一般只须要了解其中一些相关项即可。

内核编写_存储技术原理分析:基于linux 26内核源代码_内核存储原理源基于代码分析

在这里插入图片描述

二级目录Generalsetup是内核通用设置菜单界面

在这里插入图片描述

SystemVIPC表示系统的进程间通讯InterProcess

Communication,它用于处理器在程序之间同步和交换信息

Enableeventpollsupport:支持风波轮循的系统调用。

Enableloadablemodulesupport是内核模块配置

Moduleunloading容许卸载早已加载的模块

Moduleversioningsupport准许使用其他内核版本的模块(可能会出问题)

Sourcechecksumforallmodules为所有的模块校准源码,假如你不是自己编撰内核模块就不须要它这个功能。

内核编写_内核存储原理源基于代码分析_存储技术原理分析:基于linux 26内核源代码

Enabletheblocklayer块设备支持

使用硬碟/USB/SCSI设备者必选这选项促使块设备可以从内核移除:

Supportforlarge(2TB+)blockdevicesandfiles仅在使用小于2TB的块设备时须要

Blocklayerbiothrottlingsupport可用于限制设备的IO速率

IOSchedulersIO调度器I/O是输入输出带宽控制,主要针对硬碟,是核心的必须的东西。这儿提供了三个IO调度器。

SystemType是处理器类型及特征

Symmetricmulti-processingsupport对称多处理器支持,假如你有多个CPU或则使用的是多核CPU就选上

Processorfamily(Pentium-Pro)处理器系列,请依照实际使用的CPU选择,这儿是处理器的类型

Genericx86support这一选项针对x86系列的CPU使用更多的常规优化。假如你在里面一项选的是i386、i586之类的才选这个通用x86支持,

Multi-coreschedulersupport针对多核CPU进行调度策略优化多核调度机制支持,四核的CPU要选

Busoptions是PCI、ISA等总线的支持和配置KernelFeatures是内核特点配置菜单

内核存储原理源基于代码分析_存储技术原理分析:基于linux 26内核源代码_内核编写

在这里插入图片描述

Bootoption启动选项,可设置默认启动参数和内核参数类型

CPUPowerManagementCPU电源管理相关

包括处理器频度降频、休眠模式支持等

Powermanagementoptions电源管理相关Networkingsupport网路配置

包括了以太网、CAN、红外、蓝牙、无线等网路的支持配置选项

Wireless使用无线网卡支持

RFswitchsubsystemsupportRF切换设备

Networkingoptions网路合同和网路包参数配置(其中TCP/IP相关合同必须打开)

Networkingoptions,可步入网路选项配置界面

在这里插入图片描述

使用Linux的系统就会用到网路,而使用网路又常常离不开TCP/TP,故建议在配置中选中TCP/IP选项存储技术原理分析:基于linux 26内核源代码,并选中下级全部选项。三态选项也可以配置为,在须要的时侯再插入模块。

DriverDrivers设备驱动,配置界面也很复杂,有诸多配置项

在这里插入图片描述

Filesystems,是内核文件系统配置界面

内核存储原理源基于代码分析_内核编写_存储技术原理分析:基于linux 26内核源代码

在这里插入图片描述

Kernelhacking内核调试相关Securityoptions安全相关选项

CryptographicAPI—>//加密API,这部份选项会按照此前的优化手动调整

剪裁和配置内核的基本原则

参考资料:

linux内核剪裁的具体过程和选择

嵌入式Linux内核配置、裁剪与编译探讨

Linux内核编译配置(Menuconfig图形化形式)、制作文件系统的步骤

Linux内核移植和根文件系统制做

以上就是深入解析内核源码树:Kconfig 文件与 Makefile 的协同作用的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2195796.html

(0)
上一篇 2025年2月25日 20:43:02
下一篇 2025年2月25日 20:43:19

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何使用Linux进行文件系统性能调优

    如何使用linux进行文件系统性能调优 引言:文件系统是操作系统中非常关键的一部分,它负责管理和存储文件数据。在Linux系统中,有多种文件系统可供选择,如ext4、XFS、Btrfs等。为了获得更好的性能和效率,对文件系统进行调优是至关重…

    编程技术 2025年4月5日
    300
  • 超实用的 Linux 高级命令,程序员一定要懂!

    前言 在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭。 像一些高级点的命令,比如说 Xargs 命令、管道命令、自动应答命令等,如果当初我要…

    2025年4月5日 编程技术
    500
  • 如何使用Linux进行网络性能调优

    如何使用linux进行网络性能调优 网络性能是计算机网络中一个非常重要的指标,它直接关系到用户的网络体验。在Linux系统中,我们可以通过一些简单的网络性能调优来提升网络的传输速度和稳定性。本文将介绍常见的Linux网络性能调优方法,并提供…

    编程技术 2025年4月5日
    200
  • 4 个 Linux 技巧,你值得拥有

    Linux 已经逐渐成为了最受开发者欢迎的操作系统。本文将介绍四个极为实用的技巧,相信这将能够提高您在 Linux 下的工作效率和流畅性,也让工作变得更为舒适、优雅。 1. 跳转目录优雅顺滑 1.1 bd 命令 快速回到 Bash 中的特定…

    2025年4月5日 编程技术
    200
  • Linux 怎么防止 ssh 被暴力破解

    SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。 具有开放 SSH 访问权限的服务器的 root 帐户可能存在风险。尤其…

    2025年4月5日
    200
  • 233乐园怎么直接下载

    直接下载233乐园的方法:获取下载链接:访问233乐园官方网站(https://www.233.com/),点击“下载”按钮并选择您的操作系统。下载安装文件:点击下载链接后,保存安装文件到指定位置。安装应用程序:运行安装文件并按照提示完成安…

    2025年4月5日
    100
  • BitMEX最新版本下载地址

    bitmex 最新版本下载地址:https://www.bitmex.com/register/fhu9lm。只需以下5个步骤:1. 访问 bitmex 官网下载页面;2. 选择操作系统;3. 点击对应下载按钮;4. 按照屏幕提示完成安装;…

    2025年4月5日
    200
  • Ollama 本地部署模型接入 Dify

    dify 支持集成 ollama 部署的大型语言模型 (llm) 推理和嵌入能力。 快速集成指南 下载并运行 Ollama: 请参考 Ollama 官方文档进行本地部署和配置。运行 Ollama 并启动 Llama 模型,例如:ollama…

    2025年4月5日
    200
  • FacePoke— 开源的实时面部编辑工具,拖拽操作面部表情

    facepoke:一款基于ai的开源实时面部编辑工具 FacePoke是一款利用AI技术实现实时面部编辑的开源工具。用户只需简单的鼠标拖拽,即可轻松调整照片中人物的头部姿态(抬头、低头、摇头)和面部表情(眨眼、眼球转动、眉毛、嘴巴等),让静…

    2025年4月5日
    200
  • Ollama 在 LangChain 中的使用 – JavaScript 集成

    简介 本文档介绍了如何在 javascript 环境中使用 ollama 与 langchain 集成,以创建强大的 ai 应用。ollama 是一个开源的大语言模型部署工具,而 langchain 则是一个用于构建基于语言模型的应用的框架…

    2025年4月5日
    100

发表回复

登录后才能评论