很多粉丝在群里提问,如何把一个模块文件编译到内核中或者独立变异成ko文件。本文给大家详解讲解。
1. 内核目录
Linux内核源代码非常庞大,随着版本的发展不断增加。它使用目录树结构,并且使用Makefile组织配置、编译。
初次接触Linux内核,好仔细阅读顶层目录的readme文件,它是Linux内核的概述和编译命令说明。readme的说明侧重于X86等通用的平台,对于某些特殊的体系结构,可能有些特殊的说明。
顶层目录的Makefile是整个内核配置编译的核心文件,负责组织目录树中子目录的编译管理,还可以设置体系结构和版本号等。
内核源码的顶层有许多子目录,分别组织存放各种内核子系统或者文件。具体的目录说明如下表所示。
| 目录 | 内容 |
|---|---|
| arch/ | 体系结构相关的代码,如arch/i386、arch/arm、arch/ppc |
| crypto | 常用加密和散列算法(如AES、SHA等),以及一些压缩和CRC校验算法 |
| drivers/ | 各种设备驱动程序,如drivers/char、drivers/block…… |
| documentation/ | 内核文档 |
| fs/</ |
本文详细介绍了如何将Linux模块文件编译为独立的.ko模块或编译到内核中。内容涵盖内核目录结构、编译工具、内核编译步骤,包括配置、编译内核和驱动程序,以及独立驱动程序的编译方法。适合Linux初学者和嵌入式开发人员。
订阅专栏 解锁全文
2171

被折叠的 条评论
为什么被折叠?



