Linux内核源码目录
1、Arch : architecture的缩写,意思是架构,九鼎在做移植的时候就删掉了。
其他的目录都跟你没有任何的关系,所以你完全可以把他们删除。
2、Block: 英文是块的意思,表示是块设备。以块(多个字节组成的整体,以块为单位来整体访问),比如说我们的SD卡,INAND、NAND、硬盘等都是存储设备
就是外部存储器,硬盘读写,在硬件的驱动逻辑层面。
3、Crypto:,英文的意思就是加密的:这个文件的目录是加密相关的。
各种常见的加密算法的C语言的,CRC32校验算法。
4、Documentation .里面放在一些文档。
5、Drivers 驱动目录:里面分门别类的列出了所有硬件所有
6、Frimware 固件,什么是固件,固件其实是软件,不过这个软件是固化到IC里面运行的。
7、Fs FILE system,文件系统,里面列出了所有的文件系统
然后在kconfig里面添加就可以了。
Ext文件系统等几种常用的操作系统。
8、iNclude 头文件的目录;就是各种CPU架构共用的头文件都在这里。
每一种CPU的架构的头文件 /arch/arm/include 及其子目录下。
Init 就是初始化的东西,就是Linux内核启动的初始化内核的代码。
9、IPC IPC就是 iNter process communication 应用开发中最常见的进程间通信
里面都是Linux支持的IPC的代码实现。
10、kernel就是Linux内核,所以这个文件夹下就是一些代码
11、lib lib就是库的意思,这里面都是一些公用的有用的库函数,注意这里的库函数和C语言的库函数是不一样的,在内核编程中不能用C语言标准库函数
比如在内核中把字符串转换为数字atoi 但是在内核编程中只能用lib目录下的
,不能使用标准C语言库中的atoi.
在内核中打印信息的时候不能使用printf,只能使用printk,这个printfk就是lib里面的打印函数。
12、mm 是内存管理,是Linux内存管理代码都在这里的。
13、net 该目录下是网络相关的代码,比如说是TCP、IP的协议栈都是在这里的
14、scripts 脚本编程。用来辅助Linux内核进行配置编译生产的。
而是通过外围来重点学会配置和编译Linux内核即可。
15、security 安全相关的代码
16、sound 音频相关的代码
17、tools 这是一些有用的工具的代码
18、USR 目录:和Linux内核的启动有关,比如做系统的人会关注。
19、virtual 虚拟机的东西
简单的总结一下:这么多目录跟我们关系很紧密arch和driver
Include block mm net lib 目录。