Linux内核源码结构精讲:核心目录功能与嵌入式适配逻辑
Linux内核源码结构精讲核心目录功能与嵌入式适配逻辑作者黒漂技术佬 | 系列Linux内核配置与移植引言很多嵌入式新手拿到Linux内核源码包比如linux-5.10.xxx.tar.xz后解压一看密密麻麻几千个文件瞬间心跳加速、头皮发麻。别慌内核源码虽然庞大但它的目录结构是有规律可循的。本文带你逐个劈开内核源码的核心目录搞清楚每个目录是干什么的以及做嵌入式开发时需要重点关注哪几个。一、内核源码顶层目录总览解压一份标准的Linux内核源码以5.10版本为例你会看到以下顶层目录linux-5.10/ ├── arch/ # 架构相关代码ARM、x86、RISC-V等 ├── block/ # 块设备I/O层 ├── certs/ # 证书相关 ├── crypto/ # 加密算法 ├── Documentation/ # 内核文档 ├── drivers/ # 设备驱动最大的目录 ├── fs/ # 文件系统VFS、ext4、FAT等 ├── include/ # 头文件 ├── init/ # 内核初始化 ├── ipc/ # 进程间通信 ├── kernel/ # 内核核心调度、信号等 ├── lib/ # 通用库函数 ├── mm/ # 内存管理 ├── net/ # 网络协议栈 ├── scripts/ # 编译辅助脚本 ├── security/ # 安全模块SELinux等 ├── sound/ # 音频子系统 ├── tools/ # 用户态工具 ├── usr/ # initramfs相关 ├── virt/ # 虚拟化 ├── Kconfig # 顶层配置入口 ├── Makefile # 顶层编译入口 └── COPYING # 许可证嵌入式开发者必盯的目录arch/、drivers/、include/、scripts/、Documentation/devicetree/。二、核心目录逐一剖析2.1arch/—— 芯片架构的户口本这是嵌入式工程师打交道最频繁的目录。内核需要知道它在什么CPU上跑arch/下面按架构分子目录arch/ ├── arm/ # ARM 32位 │ ├── boot/dts/ # ★ 设备树文件存放处 │ ├── mach-xxx/ # 各SoC厂商的板级支持 │ ├── configs/ # 默认配置文件 │ └── kernel/ # ARM特有的内核代码 ├── arm64/ # ARM 64位 ├── x86/ # PC平台 ├── riscv/ # RISC-V架构 └── mips/ # MIPS架构如果你是做ARM嵌入式开发arch/arm/boot/dts/是修改设备树Device Tree的主战场arch/arm/configs/里放着xxx_defconfig默认配置文件编译前需要从这里拷贝一份。2.2drivers/—— 驱动的百货商场这是内核中体积最庞大的目录几乎所有的设备驱动都在这里一级子目录按设备类型分类子目录功能说明嵌入式常用度drivers/gpio/GPIO控制器与引脚驱动⭐⭐⭐⭐⭐drivers/i2c/I2C总线与设备驱动⭐⭐⭐⭐⭐drivers/spi/SPI总线与设备驱动⭐⭐⭐⭐drivers/net/网络设备驱动含ethernet、wifi⭐⭐⭐⭐drivers/usb/USB主机/设备驱动⭐⭐⭐drivers/mtd/存储技术设备NAND/NOR Flash⭐⭐⭐⭐drivers/tty/serial/串口驱动⭐⭐⭐⭐⭐drivers/video/显示驱动framebuffer等⭐⭐⭐drivers/input/输入设备按键、触控⭐⭐⭐drivers/pwm/PWM驱动⭐⭐⭐drivers/clk/时钟驱动框架⭐⭐⭐⭐⭐嵌入式适配的核心原则你不需要修改所有驱动只关注和你板子外设对应的那几个。2.3include/—— 头文件的图书馆include/存放了内核中几乎所有模块的头文件。嵌入式开发中需要重点关注include/linux/—— 内核通用宏和框架接口include/uapi/—— 用户空间API头文件导出给应用程序用include/dt-bindings/—— 设备树绑定头文件DTS中引用的宏定义在此当你写设备树时类似dt-bindings/gpio/gpio.h的引用它的物理位置就在include/dt-bindings/gpio/gpio.h。2.4scripts/—— 编译的工具箱这个目录不运行在内核里而是用来编译内核的工具集scripts/kconfig/—— 负责解析 Kconfig 文件生成.configscripts/Makefile.build—— 编译的核心Makefile规则scripts/dtc/—— 设备树编译器DTC源码scripts/extract-ikconfig—— 从内核镜像中提取配置三、嵌入式适配的关键目录做嵌入式Linux移植你的日常工作几乎就在这几个目录里打转arch/arm/boot/dts/ → 编写/修改设备树 arch/arm/configs/ → 查找/生成默认配置 drivers/xxx/ → 添加或修改驱动 include/dt-bindings/ → 引用设备树宏定义 Makefile / Kconfig → 配置编译选项典型工作流从arch/arm/configs/找一个接近的defconfig做基础配置在arch/arm/boot/dts/下创建自己板子的.dts设备树文件如果外设驱动不在内核主线里在drivers/下添加驱动代码修改对应目录的Kconfig和Makefile让新驱动参与编译四、新手常见困惑解答问内核源码为什么这么大我需要全部看懂吗答Linux内核5.10大约有近3000万行代码没有人能全部看懂——Linus本人也不行。嵌入式工程师只需要理解架构层arch/、驱动层drivers/以及与硬件相关的头文件就够了。其他如内存管理mm/、进程调度kernel/、文件系统fs/理解原理即可不需要逐行读懂。问我该下载哪个版本的内核答建议选择LTS长期支持版本比如 5.4、5.10、5.15、6.1、6.6 等。芯片原厂如NXP、ST、Rockchip通常基于LTS版本提供BSP。总结Linux内核源码虽然庞大但掌握了顶层目录的功能划分后它就不再是迷宫了。嵌入式开发者的核心工作区就是设备树DTS、驱动代码、配置文件三个板块分别对应arch/arm/boot/dts/、drivers/、arch/arm/configs/。后续文章将带你逐一攻克这些环节。

相关新闻

DAY27装饰器@XXX

DAY27装饰器@XXX

浙大疏锦行 今日内容核心:装饰器(Decorator) 1. 装饰器是什么? 本质:一个函数,它接收另一个函数作为参数,返回一个新函数(通常叫 wrapper),在不修改原函数…

2026/7/22 22:50:12 阅读更多 →
UnrealSharp终极指南:用C开发Unreal Engine 5的完整教程

UnrealSharp终极指南:用C开发Unreal Engine 5的完整教程

UnrealSharp终极指南:用C#开发Unreal Engine 5的完整教程 【免费下载链接】UnrealSharp UnrealSharp is a plugin to Unreal Engine 5, which enables developers to create games using C# (.NET10) with Hot Reload 项目地址: https://gitcode.com/gh_mirrors/u…

2026/7/23 8:01:51 阅读更多 →
颠覆性无线传输革命:3DS FBI Link让你的Mac变身3DS游戏智能管家

颠覆性无线传输革命:3DS FBI Link让你的Mac变身3DS游戏智能管家

颠覆性无线传输革命:3DS FBI Link让你的Mac变身3DS游戏智能管家 【免费下载链接】3DS-FBI-Link Mac app to graphically push CIAs to FBI. Extra features over servefiles and Boop. 项目地址: https://gitcode.com/gh_mirrors/3d/3DS-FBI-Link 还在为3DS游…

2026/7/22 0:30:06 阅读更多 →

最新新闻

Windows下VSCode配置C++20与Asio异步编程开发环境

Windows下VSCode配置C++20与Asio异步编程开发环境

1. 项目概述:为什么要在Windows上用VSCode搞C20和Asio?如果你是一个在Windows平台上折腾C网络或异步编程的开发者,大概率经历过这样的场景:想用上C20里那些现代又好用的协程(Coroutines)、概念(…

2026/7/24 16:02:42 阅读更多 →
掌握AI Agent:开启未来十年职业新机遇,小白也能抓住的收藏级干货!

掌握AI Agent:开启未来十年职业新机遇,小白也能抓住的收藏级干货!

本文探讨了AI Agent作为未来十年核心机遇的重要性,从AI工具到AI员工的转变,以及普通人如何成为FDE(前端部署工程师)。文章详细阐述了搭建个人AI员工体系的方法,强调了Token消耗、多线程并发等关键指标,并提…

2026/7/24 16:02:42 阅读更多 →
AWS AI应用安全实践:基于OWASP Agentic AI Top 10的防护指南

AWS AI应用安全实践:基于OWASP Agentic AI Top 10的防护指南

1. 先搞清楚 OWASP Agentic AI Top 10 到底解决什么问题 如果你在 AWS 上部署或开发 AI 应用,特别是涉及大模型、AI Agent 或 RAG 系统,那 OWASP 这份新清单就是接下来必须关注的实操指南。它不像传统 OWASP Top 10 只聚焦 Web 漏洞,而是专门…

2026/7/24 16:02:42 阅读更多 →
Godot 4.2入门实战:从零开发2D躲避游戏《Dodge the Creeps!》

Godot 4.2入门实战:从零开发2D躲避游戏《Dodge the Creeps!》

1. 项目概述:为什么选择Godot 4.2作为你的第一个游戏引擎? 如果你正在寻找一个免费、开源、功能强大且学习曲线相对平缓的游戏引擎来开启你的游戏开发之旅,那么Godot 4.2绝对是一个值得你投入时间的选择。我接触过不少引擎,从早期…

2026/7/24 16:02:42 阅读更多 →
HTML演示页和PPTX到底怎么选

HTML演示页和PPTX到底怎么选

用AI做PPT的人越来越多,一个挺常见的问题是:导出的HTML在线演示页和PPTX文件到底选哪个? HTML和PPTX的核心差异 HTML存在着优势之处,那便是在进行交互以及动态效果的制作方面比较便捷。可是它有一个问题是无法回避的&#xff1a…

2026/7/24 16:02:42 阅读更多 →
ToastFish完整指南:利用Windows通知栏高效背单词的终极方案

ToastFish完整指南:利用Windows通知栏高效背单词的终极方案

ToastFish完整指南:利用Windows通知栏高效背单词的终极方案 【免费下载链接】ToastFish 一个利用摸鱼时间背单词的软件。 项目地址: https://gitcode.com/GitHub_Trending/to/ToastFish ToastFish是一款创新的Windows桌面应用,它巧妙地将单词学习…

2026/7/24 16:01:41 阅读更多 →

日新闻

用Highcharts 创建可拖拽三维散点立方体3D图表

用Highcharts 创建可拖拽三维散点立方体3D图表

该案例基于Highcharts scatter3d 三维散点图实现空间立方体散点可视化,核心特色:三维 X/Y/Z 三轴空间,所有散点分布在 0~10 立方体空间内;散点使用径向渐变实现立体 3D 圆球质感;支持鼠标 / 触屏拖拽画布,…

2026/7/24 0:00:29 阅读更多 →
AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口

AppCertDlls:进程创建路径上的 DLL 入口 AppCertDlls 位于 HKLM\System\CurrentControlSet\Control\Session Manager\AppCertDlls。本文的程序功能是只读列出这个键在 64 位和 32 位注册表视图中的全部值,并显示每条值的来源、名称、类型和可安全显示的数…

2026/7/24 0:00:29 阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:29 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 3:59:20 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 1:23:39 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻