对技术执着
发布时间:2015-03-14 17:24:50
Linux内核构建系统之七通过前面的分析,我们已经知道,在 Linux 中,区分有两种模块:内部模块和外部模块。我们这里说的对目标 modules 的处理指的就是要编译出那些内部模块,对外部模块的处理我们将在后面叙述。我们还知道,不管是内部模块,还是外部模块,其编译都要分两个阶段进行。阶段一生成组成模块的对应 .o .........【阅读全文】
发布时间:2015-03-14 17:24:44
Linux内核构建系统之六yihect | 10 元月, 2011 16:38回到处理 vmlinux 的那条规则上面来,在处理好 $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main)等目标后,构建系统接下来要处理的就是 vmlinux.o 和 $(kallsyms.o) 了。内核构建系统之所以要在链接 vmlinux 之前,去链接出vmlinux.o。其原.........【阅读全文】
发布时间:2015-03-14 17:24:39
对另外构建目标的处理,我们使用两个例子来讲述,那就是配置内核后用来编译内核的命令:"make ARCH=arm CROSS_COMPILE=arm-linux- "和编译外部模块的命令:"make ARCH=arm CROSS_COMPILE=arm-linux- -C KERNELDIR M=dir"。之所以选取这两个 make命令 来作为例子讲述,是因为它所涉及到的关于构建系统的知识比较多,覆盖比较.........【阅读全文】
发布时间:2015-03-14 17:24:31
Linux内核构建系统之四回到我们的主框架上面来,讨论完配置目标的处理后,就轮到框架中 "ifeq ($(config-targets),1)-endif" 块的 else 部分了。这部分是为了处理那些构建目标以及和.config无关的目标,其对这些目标处理的代码都位于框架中的E部分中。在E部分之前,有一个不小的 "ifeq ($(dot-config),1)-endif" .........【阅读全文】
发布时间:2015-03-14 17:24:25
顶层Makefile的总体框架结构 既然前面我们说过顶层Makefile最为重要,那么我们就先来研究一下这个文件。在你用VI编辑器打开这个文件时,千万别被它的复杂吓倒。这个文件虽然行数颇多,但其实里面也是有道道可寻的,我们可以抽出其中最重要的框架结构出来,列出如下(稍做整理和缩进):从上面的框架中可以.........【阅读全文】