Barebox分析
以前看程序的时候没有仔细看过Kconfig文件,这次分析barebox的时候仔细看了下,我们首先看根目录下的Kconfig文件:
config SRCARCH
string
option env="SRCARCH"
source "arch/$SRCARCH/Kconfig"
里面配置了构架,然后就调用构架下面的Kconfig文件了。
此处变量SRCARCH的值是在根目录下的Makefile中定义的,里面有一句话
SRCARCH := $(ARCH)
所以当我们在对barebox进行具体配置前,先设置两个变量。
1. export ARCH=arm
2. export CROSS_COMPILE=arm-linux-
这两个变量可以这么配置,也可以在Makefile中修改,在166行有
ARCH ?= sandbox
CROSS_COMPILE ?=
修改成
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
修改完后就可以进行make menuconfig了,当然为了配置方便,我们一般都是使用一些提供的默认配置,在此基础上进行修改,配置文件是在/arch/$(ARCH)/configs/下面
我们使用make XXX_defconfig命令,在此基础上进行再次配置。
我们接着去看source "arch/$SRCARCH/Kconfig"下面的Kconfig文件,此处SRCARCH=arm,所以去看arch/ arm /Kconfig下的文件
config BOARD_LINKER_SCRIPT
bool
default n
config GENERIC_LINKER_SCRIPT
bool
default y
depends on !BOARD_LINKER_SCRIPT
以上是刚开始的两个选项,从中我们可以看到有两个配置选项,
BOARD_LINKER_SCRIPT 是否有板子的链接脚本,默认是no
GENERIC_LINKER_SCRIPT默认的链接脚本,依赖于