内核源码树
编译内核
make config
- 会逐一遍历所有的配置项,要求用户自己选择
yes,no,module
make menuconfig
- 具有图形界面的配置环境
make defconfig
- 上面这条命令会根据默认的配置为你的体系结构创建一个配置
- 配置项保存在
.config
文件中,修改过配置文件或用已有的配置文件配置新的代码树时,需要验证和更新配置:
make oldconfig
- 配置好内核后,通过
make
来进行编译
内核开发的特点
- 不能访问 C 库也不能访问标准的 C 头文件
- 必须使用 GNU C
- 内核编程时缺乏像用户空间那样的内存保护机制
- 难以执行浮点计算
- 内核给每个进程只有一个很小的定长堆栈
- 由于内核支持异步中断、抢占和 SMP,因此必须时刻注意同步和并发
- 要考虑可移植性