我是u-boot新手
我希望能够在构建时使用不同的构建选项制作 u-boot。例如。我可能有这样的
build.sh
:
source /path/to/target-toolchain
make distclean
make MyHardware_defconfig
make V=1
甚至更好:
make distclean
make MyHardware_defconfig
make CONFIG_ENABLE_CONSOLE=1 V=1
在 MyHardware.c 中:
#if !defined CONFIG_ENABLE_CONSOLE
#error CONFIG_ENABLE_CONSOLE not defined!!!!!
#endif
我尝试将 CONFIG_ENABLE_CONSOLE=1 添加到 MyHardware_defconfig 但是在构建时得到错误行
我也试过 make CONFIG_ENABLE_CONSOLE=1 V=1 但也和上面的错误一样。
如何设置我的项目,以便为启用和禁用的控制台构建?无需在 u-boot 源代码中硬编码。
uboot makefile 有:
# Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
KBUILD_CPPFLAGS += $(KCPPFLAGS)
KBUILD_AFLAGS += $(KAFLAGS)
KBUILD_CFLAGS += $(KCFLAGS)
所以这适用于构建脚本:
export KCPPFLAGS+=" -DCONFIG_ENABLE_CONSOLE"
然后运行 make
make MyHardware_defconfig
创建文件 .config。通常的编辑方式是调用
make menuconfig
如果你想在脚本中修改.config,你可以使用sed.
配置选项在名为 Kconfig 的文件中定义。 https://www.kernel.org/doc/html/v5.18/kbuild/kconfig-language.html 描述了Kconfig 文件的语法。