嵌入式开发实作(Linux内核编译及安装)
部分内容译自《
Embedded Linux kernel and driver development 》by Michael Opdenacker
KEY:Linux 内核编译 内核配置 嵌入式
内核配置(Kernel configuration)
Makefile版本修改
为了区别基于同一源码构建(bulid)的不内核镜像,可使用变量EXTRAVERSION(定义位于makefile的顶部):
- VERSION = 2
- PATCHLEVEL = 6
- SUBLEVEL = 7
- EXTRAVERSION = -acme1
运行“uname --r”会返回: 2.6.7--acme1
2.内核配置
先定义内核需要什么特性,并进行配置。内核构建系统(The kernel build system)远不是简单用来构建整个内核和模块,想了解更多的高级内核构建选项,你可以查看 Documentation/kbuild 目录内的内核文档。
可用的配置命令和方式:
-
- make xconfig
- make menuconfig
- make oldconfig
- 或者 手动编写
内核编译的配置文件.config与内核配置的makefile?
内核配置文件(Makefile语法的)保存为内核源代码的顶层目录的.config文件。发行版的内核配置文件通常在/boot/内。
命令:make xconfig
-
- qconf: 全新的基于QT的配置接口,2.6版本内核
- 更易使用(切记阅读 help -> introduction: useful options!)
- 具有文件浏览功能,更易的加载配置文件
命令:make menuconfig
-
- 老式字符界面,依然很管用。你够自信,完全可以手写配置文件!
命令:make oldconfig
-
- 用于升级早期发布内核的配置文件
- 对一些绝对符号(obsolete symbols)发出警告
- 询问新符号的配置值
何为makefile?
makefile包含用以构建应用程序的一组规则集(set of rules)。并且第一条[规则 ]是特殊的[规则 ],叫[