U-boot配置
make O=output ok6410a_mini_defconfig
make[1]: Entering directory '/home/suws/ok6410/system-new/u-boot/output'
HOSTCC scripts/basic/fixdep
cc -Wp,-MD,scripts/basic/.fixdep.d -Iscripts/basic -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -o scripts/basic/fixdep ../scripts/basic/fixdep.c
GEN ./Makefile
rm -f .tmp_quiet_recordmcount
ln -fsn .. source
/bin/bash ../scripts/mkmakefile \
.. . 2021 01
GEN ./Makefile
HOSTCC scripts/kconfig/conf.o
cc -Wp,-MD,scripts/kconfig/.conf.o.d -Iscripts/kconfig -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -c -o scripts/kconfig/conf.o ../scripts/kconfig/conf.c
YACC scripts/kconfig/zconf.tab.c
bison -oscripts/kconfig/zconf.tab.c -t -l ../scripts/kconfig/zconf.y
LEX scripts/kconfig/zconf.lex.c
flex -oscripts/kconfig/zconf.lex.c -L ../scripts/kconfig/zconf.l
HOSTCC scripts/kconfig/zconf.tab.o
cc -Wp,-MD,scripts/kconfig/.zconf.tab.o.d -Iscripts/kconfig -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11 -I../scripts/kconfig -c -o scripts/kconfig/zconf.tab.o scripts/kconfig/zconf.tab.c
HOSTLD scripts/kconfig/conf
cc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o
scripts/kconfig/conf --defconfig=arch/../configs/ok6410a_mini_defconfig Kconfig
#
# configuration written to .config
#
make[1]: Leaving directory '/home/suws/ok6410/system-new/u-boot/output'
linux配置
HOSTCC scripts/basic/fixdep
gcc -Wp,-MMD,scripts/basic/.fixdep.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -o scripts/basic/fixdep scripts/basic/fixdep.c
HOSTCC scripts/kconfig/conf.o
gcc -Wp,-MMD,scripts/kconfig/.conf.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/conf.o scripts/kconfig/conf.c
HOSTCC scripts/kconfig/confdata.o
gcc -Wp,-MMD,scripts/kconfig/.confdata.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/confdata.o scripts/kconfig/confdata.c
HOSTCC scripts/kconfig/expr.o
gcc -Wp,-MMD,scripts/kconfig/.expr.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/expr.o scripts/kconfig/expr.c
LEX scripts/kconfig/lexer.lex.c
flex -oscripts/kconfig/lexer.lex.c -L scripts/kconfig/lexer.l
YACC scripts/kconfig/parser.tab.[ch]
bison -o scripts/kconfig/parser.tab.c --defines=scripts/kconfig/parser.tab.h -t -l scripts/kconfig/parser.y
HOSTCC scripts/kconfig/lexer.lex.o
gcc -Wp,-MMD,scripts/kconfig/.lexer.lex.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -I ./scripts/kconfig -c -o scripts/kconfig/lexer.lex.o scripts/kconfig/lexer.lex.c
HOSTCC scripts/kconfig/parser.tab.o
gcc -Wp,-MMD,scripts/kconfig/.parser.tab.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -I ./scripts/kconfig -c -o scripts/kconfig/parser.tab.o scripts/kconfig/parser.tab.c
HOSTCC scripts/kconfig/preprocess.o
gcc -Wp,-MMD,scripts/kconfig/.preprocess.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/preprocess.o scripts/kconfig/preprocess.c
HOSTCC scripts/kconfig/symbol.o
gcc -Wp,-MMD,scripts/kconfig/.symbol.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/symbol.o scripts/kconfig/symbol.c
HOSTCC scripts/kconfig/util.o
gcc -Wp,-MMD,scripts/kconfig/.util.o.d -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 -c -o scripts/kconfig/util.o scripts/kconfig/util.c
HOSTLD scripts/kconfig/conf
gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/confdata.o scripts/kconfig/expr.o scripts/kconfig/lexer.lex.o scripts/kconfig/parser.tab.o scripts/kconfig/preprocess.o scripts/kconfig/symbol.o scripts/kconfig/util.o
scripts/kconfig/conf --defconfig=arch/arm/configs/ok6410A_sdboot_mini_defconfig Kconfig
#
# configuration written to .config
#
u-boot 和 linux 配置 的区别
u-boot 配置不需要填充 ARCH 与 CROSS_COMPILE
u-boot 编译需要配置 CROSS_COMPILE
linux 配置需要填充 ARCH(这样才能找到defconfig) 与 CROSS_COMPILE (填充后会改变生成的.config,.config中会填充CROSS_COMPILE 的信息CONFIG_CC_VERSION_TEXT)
linux 编译也需要配置 ARCH 与 CROSS_COMPILE
相同点:
都是生成 scripts/kconfig/conf
并用命令 scripts/kconfig/conf --defconfig=/path_to_defconfig/ok6410a_mini_defconfig Kconfig 生成 .config
不同点
u-boot 的 scripts/kconfig/conf 比较简单
cc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/zconf.tab.o
linux的 scripts/kconfig/conf 比较复杂
gcc -o scripts/kconfig/conf scripts/kconfig/conf.o scripts/kconfig/confdata.o scripts/kconfig/expr.o scripts/kconfig/lexer.lex.o scripts/kconfig/parser.tab.o scripts/kconfig/preprocess.o scripts/kconfig/symbol.o scripts/kconfig/util.o