这一章讲了如何获取,编译,安装内核,以及开发内核程序应当注意的事项。
本人虽然没有开发内核的想法,但是非常想借阅读运行内核源码,了解Linux的运转过程和原理。书上对怎么一步一步调试运行源码描述的不太详细,我又找了一些其他的资料辅助我把内核跑起来。
正所谓不能快速断点调试,快速失败重试的源码都是在耍流氓,暂时根据这篇搭建源码阅读修改环境
https://www.ibm.com/developerworks/cn/linux/1508_zhangdw_gdb/index.html
内核源码树
| 目录 | 描述 |
|---|---|
| arch | 特定体系结构的源码 |
| block | 块设备I/O层 |
| crypto | 加密API |
| Documentation | 内核源码文档 |
| drivers | 设备驱动程序 |
| firmware | 使用某些驱动程序而需要的设备固件 |
| fs | VFS和各种文件系统 |
| include | 内核头文件 |
| init | 内核引导和初始化 |
| ipc | 进程间通信代码 |
| kernel | 像调度程序这样的核心子系统 |
| lib | 通用内核函数 |
| mm | 内存管理子系统和VM |
| net | 网络子系统 |
| samples | 示例,示范代码 |
| scripts | 编译内核所用脚本 |
| security | linux安全模块 |
| sound | 语音子系统 |
| usr | 早起用户空间代码 |
| tools | 在linux开发中有用的工具 |
| virt | 虚拟化基础结构 |