Linux内核开发框架的学习资料说明

资料大小: 0.40 MB

所需积分: 0

下载次数:

用户评论: 0条评论,查看

上传日期: 2020-11-24

上 传 者: 易水寒他上传的所有资料

资料介绍

标签:Linux(5616)cpu(4674)内核(453)

一、常见linux内核文件的区别

1、vmlinux

编译出来的最原始的内核文件,未压缩。

2、zImage

vmlinux经过gzip压缩后的文件。

3、bzImage

bz表示“bigzImage”,不是用bzip2压缩的。两者的不同之处在于,zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么采用zImage或bzImage都行,如果比较大应该用bzImage。

4、uImageU-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的tag。

5、vmlinuzbzImage/zImage文件的拷贝或指向bzImage/zImage的链接。

6、initrd

“iniTIalramdisk”的简写。一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。

二、linux内核源码目录结构

1、arch目录

包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是IntelCPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。

2、include目录包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。

3、init目录包含核心的初始化代码(不是系统的引导代码),有main.c和Version.c两个文件。这是研究核心如何工作的好起点。

4、mm目录包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm目录下。

5、drivers目录是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。

6、ipc目录包含了核心进程间的通信代码。

7、modules目录存放了已建好的、可动态加载的模块。

8、fs目录存放Linux支持的文件系统代码。不同的文件系统有不同的子目录对应,如ext3文件系统对应的就是ext3子目录。

9、Kernel内核管理的核心代码放在这里。同时与处理器结构相关代码都放在arch/*/kernel目录下。

10、net目录里面是核心的网络部分代码,其每个子目录对应于网络的一个方面。

11、lib目录包含了核心的库代码,不过与处理器结构相关的库代码被放在arch/*/lib/目录下。

12、scripts目录包含用于配置核心的脚本文件。

13、documentaTIon目录该目录是对其它每个目录作用的具体说明。

用户评论

查看全部 条评论

发表评论请先 , 还没有账号?免费注册

发表评论

用户评论
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
上传电子资料