如果说以前都是玩linux,那么现在要开始产品化了。
第一件事当然就是把以前的驱动源程序完善,然后加到内核里面去。
增加内核程序需要完成以下3项工作
1,将编写的源代码复制到linux内核源代码的相应目录。
2,在目录的Kconfig文件中增加新源代码对应项目的编译配置选项。
3,在目录的Makefile文件中增加对新源码的编译条目。
首先,看下Kbuild是怎么工作的。
Kbuild大体上按照以下步骤执行编译过程。
(1)内核配置,生成.config文件。
(2)保存内核版本信息到include/linux/version.h
(3)创建链接符号include/asm,链接include/asm-$(ARCH)源目录。
(4)升级所有依赖的前提文件,在arch/$(ARCH)/Makefile中指定附加依赖条件。
(5)递归地遍历各级子目录并编译所有的目标。 init-*、core*、drivers-*、net-*、libs-*的目录变量值在arch/$(ARCH)/Makefile文件中有些扩展。
(6)链接所有的目标文件,生成顶层目录的vmlinux。链接的第一个目标文件在head-y列表中,是在arch/$(ARCH)/Makefile中定义的。
(7)最后,体系结构相关部分作必须的后期处理,编译生成最终的引导映像。这可以包括编译引导记录;准备initrd映像等类似工作。 |