Linux内核开发框架学习
Linux内核开发框架学习
一、常见linux内核文件的区别
1、vmlinux
编译出来的最原始的内核文件,未压缩。
2、zImage
vm
Linux内核开发框架学习
Linux内核开发框架学习
一、常见linux内核文件的区别
1、vmlinux
编译出来的最原始的内核文件,未压缩。
2、zImage
vmlinux经过gzip压缩后的文件。
3、bzImage
bz表示“big zImage”,不是用bzip2压缩的。两者的不同之处在于,zImage解压缩内核到低端内存(第一个640K),bzImage解压缩内核到高端内存(1M以上)。如果内核比较小,那么采用zImage或bzImage都行,如果比较大应该用bzImage。
4、uImage
U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的tag。
5、vmlinuz
bzImage/zImage文件的拷贝或指向bzImage/zImage的链接。
6、initrd
“initial ramdisk”的简写。一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。
二、linux内核源码目录结构
1、arch目录
包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。
2、include目录
包括编译核心所需要的大部分头文件,例如与平台无关的头文件在include/linux子目录下。
3、init目录
包含核心的初始化代码(不是系统的引导代码),。这是研究核心如何工作的好起点。
4、mm目录
包含了所有的内存管理代码。与具体硬件体系结构相关的内存管理代码位于arch/*/mm 目录下。
5、drivers目录
是系统中所有的设备驱动程序。它又进一步划分成几类设备驱动,每一种有对应的子目录,如声卡的驱动对应于drivers/sound。
6、ipc目录
包含了核心进程间的通信代码。
7、modules目录
存放了已建好的、可动态加载的模块。
8、fs目录
Linux内核开发框架学习
一、常见linux内核文件的区
Linux内核开发框架学习 来自淘豆网m.daumloan.com转载请标明出处.