| 摘要 | 第1-4页 |
| Abstract | 第4-7页 |
| 第一章 绪论 | 第7-11页 |
| ·课题研究背景 | 第7-8页 |
| ·研究现状 | 第8页 |
| ·课题研究内容和论文结构 | 第8-11页 |
| 第二章 Linux 内核编译机制分析 | 第11-39页 |
| ·Kconfig 分析 | 第11-18页 |
| ·Kconfig 语法分析 | 第11-14页 |
| ·Kconfig 实现 | 第14-18页 |
| ·Kbuild 分析 | 第18页 |
| ·各 Makefile 之间的关系 | 第18-20页 |
| ·顶层 Makefile 分析 | 第20-25页 |
| ·核心变量定义 | 第20-23页 |
| ·核心目标定义 | 第23-25页 |
| ·平台相关 Makefile | 第25-28页 |
| ·平台相关变量 | 第25-26页 |
| ·内核映像规则 | 第26-27页 |
| ·安装和清理 | 第27-28页 |
| ·各目录下 Makefile | 第28-29页 |
| ·Makefile 通用规则 | 第29-30页 |
| ·内核链接过程分析 | 第30-39页 |
| ·Makefile 中的 vmlinux 规则 | 第30页 |
| ·vmlinux 目标的依赖 | 第30页 |
| ·vmlinux 目标的生成命令 | 第30-33页 |
| ·内核链接脚本分析 | 第33-39页 |
| 第三章 内核编译过程分析 | 第39-53页 |
| ·清理内核源码 | 第39-44页 |
| ·make mrproper 的清除过程 | 第39-44页 |
| ·各 cleaning target 的差异 | 第44页 |
| ·内核的配置 | 第44-46页 |
| ·make menuconfig 的执行过程 | 第44-46页 |
| ·各 configuration targets 的差异 | 第46页 |
| ·生成压缩的内核镜像 | 第46-49页 |
| ·bzImage 的编译过程 | 第46-49页 |
| ·modules 的生成 | 第49-50页 |
| ·modules 的依赖项 | 第49页 |
| ·modules 的生成命令 | 第49-50页 |
| ·modules 的安装 | 第50-52页 |
| ·modules 的安装 | 第50-52页 |
| ·内核安装 | 第52-53页 |
| 第四章 基于参数的内核编译优化 | 第53-71页 |
| ·引言 | 第53页 |
| ·设计方案 | 第53-55页 |
| ·概述 | 第53-54页 |
| ·设计方案详述 | 第54-55页 |
| ·方案详细实现 | 第55-59页 |
| ·实验平台及参数简介 | 第55-56页 |
| ·系统平均负载 | 第56-57页 |
| ·系统平均负载的计算 | 第57-59页 |
| ·fnw(t)的测量 | 第59-67页 |
| ·fnw(t)的测量实现 | 第59-60页 |
| ·fnw(t)的测量结果 | 第60-67页 |
| ·编译速度的测量与比较 | 第67-70页 |
| ·编译速度测量 | 第67-68页 |
| ·编译时间测量对比 | 第68-70页 |
| ·结论 | 第70-71页 |
| 第五章 基于源码精简的编译优化 | 第71-75页 |
| ·概述 | 第71页 |
| ·输入输出 | 第71-72页 |
| ·输入 | 第71页 |
| ·使用方法 | 第71页 |
| ·输出 | 第71-72页 |
| ·过程详述 | 第72-73页 |
| ·扫描 Makefile | 第72页 |
| ·读取.config | 第72-73页 |
| ·精简 Kconfig 机制 | 第73页 |
| ·实验结果 | 第73-75页 |
| ·实验环境 | 第73页 |
| ·内核源码体积减小 | 第73-74页 |
| ·Kconfig 机制精简 | 第74页 |
| ·结论 | 第74-75页 |
| 第六章 总结与展望 | 第75-77页 |
| 致谢 | 第77-79页 |
| 参考文献 | 第79-81页 |