当前位置: 首页 > news >正文

ARM《7》_编译生成linux内核中的内核模块

0、前言:

  • 这是一篇以问题为导向,的技术贴!
  • 探究linux内核中的 内核模块 如何编译生成;

基础概念库:

1、linux内核源码:

  • tar -zxvf linux-4.14.21.tar.gz 解压的是 Linux 内核的源码包,它不是一个完整的 Linux 系统,而是 Linux 内核的源代码集合。解压后会生成一个名为 linux-4.14.21 的目录,里面包含了 Linux 内核 4.14.21 版本的所有源代码文件:

    • 内核核心代码(如 kernel/、fs/、net/ 目录);
    • 硬件驱动代码(如 drivers/ 目录);
    • 编译配置文件(如 Makefile、.config 模板);文档和工具脚本等。这些文件的作用是供开发者编译、定制或研究 Linux 内核。
  • 一个完整的 Linux 系统需要包含:

    • 内核:即你解压的 linux-4.14.21 编译后的可执行程序(如 vmlinuz);
    • 用户态组件:包括 Shell(如 bash)、系统工具(如 ls、cd)、库文件(如 libc)、应用程序等;
    • 文件系统:包含系统配置、用户数据、启动脚本等。
  • linux-4.14.21.tar.gz 仅提供了内核的源代码,需要经过编译、配置后,才能生成可运行的内核。

2、在内核文件编译前,设置make menuconfig 后出现的三种内核文件编译选择模式的解释:

  • make menuconfig 中这三种选择对应内核组件的不同编译和加载方式,核心逻辑就是“按需决定组件是否编译、以及如何集成到系统中”。

  • 三种选择的具体含义:

  1. 选 M (Module,模块模式)

    • 编译结果:生成独立的 .ko 模块文件(如 hello.ko ),不直接打包进内核镜像。
    • 加载时机:系统启动后,通过 insmod / modprobe 手动加载,不需要时用 rmmod 卸载,实现“动态按需加载”。​
    • 适用场景:硬件驱动(如USB、网卡驱动)、测试组件等,避免内核镜像过大。
  2. 选 * (Built-in,内置模式)

    • 编译结果:组件代码直接编译进内核镜像(如 vmlinuz ),成为内核的一部分。
    • 加载时机:系统启动时随内核一起加载,无需手动操作,重启后仍生效。
    • 适用场景:内核核心功能(如进程管理、内存管理)
http://www.dtcms.com/a/546405.html

相关文章:

  • STM32H743-ARM例程33-TOUCH
  • 大型网站开发团队网站更换模板
  • 网站建设规划ppt模板大名专业做网站
  • 重庆seo网站策划网站建设项目管理基本要求
  • GEO 优化赋能品牌推广,AI 时代的新玩法
  • Sui Stack 助力 AI 从“强大”走向“可信”
  • 营销型网站需要注意天河做网站企业
  • 建网站用哪个好网站建设经费预算策划书
  • 响应时间差 3 倍?华为云 Flexus 部署 DeepSeek+Dify 企业级 AI 性能深度测评
  • 手机网站建设价格明细表wordpress打字特效
  • 网站配色绿色全包圆装修公司
  • AI编程工具的体验与分享,在AI时代,如何选择更适合自己的编译器来帮助自己进行开发
  • 做网站公司如何选微信开发者平台在哪里打开
  • rust:变量与可变性
  • 昆明学校网站设计公司广西网站开发
  • videojs增加视频源选择框小工具
  • 锚文本外链查询网站vue做网站好吗
  • 做网站后台要做些什么国内it外包龙头企业
  • 企业商场网站建设谷歌浏览器手机版免费官方下载
  • IDEA报错:前言中不允许有内容
  • 案例分享--热负荷下的印刷电路板(PCB)测量--研索仪器VIC-3D非接触全场测量系统应用于电子消费领域
  • 仓颉语言中的内联函数优化策略探析
  • 网站后台管理系统怎么上传国外的调查网站上做问卷
  • 企业微信私域运营代运营:微盛AI・企微管家以四级分层服务助力企业私域落地与增长
  • 国内团购网站做的最好的是个人网站模板html5
  • Cell 与 RefCell:Rust 内部可变性的双生子解析
  • 东莞企业网站建设开发网站留言板带后台模板
  • Qt5 MSVC代码编译问题
  • Rust内存对齐与缓存友好设计深度解析
  • vue 做的pc端网站大同市网站建设