为什么我的内核菜单配置看起来已损坏?

为什么我的内核菜单配置看起来已损坏?

我一直在使用 buildroot 2018.02.1 编译嵌入式系统的内核。内核菜单配置过去渲染得很好,但在某些时候它不再正确渲染,看起来像这样:

内核菜单配置

我尝试完全删除 buildroot 文件夹并重新启动,但无济于事。 buildroot menuconfig 渲染正常,我的其他内核菜单配置似乎也渲染正常,例如:

构建根菜单配置

我尝试export NCURSES_NO_UTF8_ACS=1在启动内核menuconfig之前运行,但它没有任何效果(尽管它确实影响buildroot menuconfig)。

我的区域设置是:

$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=en_GB.UTF-8
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=en_GB.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=en_GB.UTF-8
LC_NAME=en_GB.UTF-8
LC_ADDRESS=en_GB.UTF-8
LC_TELEPHONE=en_GB.UTF-8
LC_MEASUREMENT=en_GB.UTF-8
LC_IDENTIFICATION=en_GB.UTF-8
LC_ALL=

有什么想法吗?

编辑:如果我手动进入 output/build/linux-XXX 文件夹并调用ARCH=arm make menuconfig,它显示正常。该问题似乎与 Buildroot 调用 menuconfig 的方式有关。

答案1

我遇到了完全相同的问题:menuconfig、linux-menuconfig 渲染正常,但 uboot-menuconfig 渲染不正确。

首先,检查您的主机上是否安装了 ncursesw 库:

pkg-config --cflags ncursesw

在 Debian 上我没有那个库,我必须安装它:

sudo apt-get install libncursesw5-dev

我希望这可以帮助某人。

答案2

只需删除 linux.mk 中的 LDFLAGS

LINUX_MAKE_FLAGS = \
-       HOSTCC="$(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS)" \
+       HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \
        ARCH=$(KERNEL_ARCH) \
        INSTALL_MOD_PATH=$(TARGET_DIR) \
        CROSS_COMPILE="$(TARGET_CROSS)" \

相关内容