基于Linux内核的应用程序构造(一)——内核配置

来源:互联网 发布:软件的稳定性 编辑:程序博客网 时间:2024/06/05 19:32

依据oplonu产品为例,着重解析编译过程

Kernel Version:linux2.6.21.5

SDK:https://github.com/DavionKnight/oplonu


执行编译脚本$ ./f23p-v1e-build

执行make f23pv1e

oplonu/make.rules:

进入$(KERNEL_DIR)/linux-2.6.21.5并执行make onu_respin_f23p_defconfig;

$(KERNEL_DIR)/linux-2.6.21.5/Makefile:

(%为所有模式匹配规则)

进入$(KERNEL_DIR)/linux-2.6.21.5/scripts/kconfig,执行 make onu_respin_f23p_defconfig;

$(KERNEL_DIR)/linux-2.6.21.5/scripts/kconfig/Makefile:


其中obj在$(KERNEL_DIR)/linux-2.6.21.5/Makefile中定义如下

objtree        := $(CURDIR)
src        := $(srctree)
obj        := $(objtree)

(CURDIR 此变量代表 make 的工作目录。当使用“-C”选项进入一个子目录后,此变量将被重新赋值。总之,如果在
Makefile 中没有对此变量进行显式的赋值操作,那么它代表 make 的工作目录。我们也可以在 Makefile 为这个变量赋一个新的值。此时这变量将不再代表 make 的工作目录)
也就是在$(KERNEL_DIR)/linux-2.6.21.5/scripts/kconfig/的conf

    $(Q)$< -D arch/$(ARCH)/configs/$@ arch/$(ARCH)/Kconfig

=   ./conf   -D  arch/$(ARCH)/configs/onu_respin_f23p_defconfig  arch/$(ARCH)/Kconfig

conf工具的功能大致与make config相同,将arch/$(ARCH)/configs/onu_respin_f23p_defconfig配置为默认配置

新建.config,将onu_respin_f23p_defconfig写入.config

(具体不分析conf工具,有源码感兴趣的可以自己研究)

配置部分到此结束


0 0
原创粉丝点击