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

依据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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值