Linux内核源代码非常庞大,随着版本的发展不断增加。它使用目录树结构,并且使用Makefile组织配置、编译。关于linux内核的学习,可以参考华清远见《Linux内核修炼培训班》的课程大纲。
初次接触Linux内核,好仔细阅读顶层目录的readme文件,它是Linux内核的概述和编译命令说明。readme的说明侧重于X86等通用的平台,对于某些特殊的体系结构,可能有些特殊的说明。
顶层目录的Makefile是整个内核配置编译的核心文件,负责组织目录树中子目录的编译管理,还可以设置体系结构和版本号等。
内核源码的顶层有许多子目录,分别组织存放各种内核子系统或者文件。具体的目录说明如表1.7所示。
表1.7 Linux内核源码顶层目录说明
arch/ |
体系结构相关的代码,如arch/i386、arch/arm、arch/ppc |
crypto |
常用加密和散列算法(如AES、SHA等),以及一些压缩和CRC校验算法 |
drivers/ |
各种设备驱动程序,如drivers/char、drivers/block…… |
documentation/ |
内核文档 |
fs/ |
文件系统,如fs/ext3、fs/jffs2…… |
include/ |
内核头文件:include/asm是体系结构相关的头文件,它是include/asm-arm、include/asm-i386等目录的链接;include/linux是Linux内核基本的头文件 |
init/ |
Linux初始化,如main.c |
ipc/ |
进程间通信的代码 |
kernel/ |
Linux内核核心代码(这部分比较小) |
lib/ |
各种库子程序,如zlib、crc32 |
mm/ |
内存管理代码 |
net/ |
网络支持代码,主要是网络协议 |
sound |
声音驱动的支持 |
scripts/ |
内部或者外部使用的脚本 |
usr/ |
用户的代码 |
本文选自华清远见嵌入式培训教材《从实践中学嵌入式Linux应用程序开发》
热点链接:
1、Linux内核主要功能介绍
2、Linux内核模块程序结构
3、如何分析Linux内核源码
4、嵌入式linux内核的五个子系统
5、linux内核中Makefile的使用
更多新闻>> |