现象:

- 执行 make menuconfig 时界面渲染异常,常见表现为边框/填充区域出现大量 @^@、乱码或花屏,导致难以正常配置选项。

原因:

- make menuconfig 实际调用的是 Kconfig 的 ncurses 前端程序(通常为 mconf)来绘制交互界面。

- 环境中预置/已有的 mconf 与当前系统的 ncurses 组件存在兼容性问题(例如未按当前环境重新编译、缺少 ncurses/tinfo 开发依赖导致构建产物不匹配),从而在终端绘制阶段出现异常字符。

- 终端本身通常不是根因(可通过单独输出框线字符测试验证终端具备绘制能力),问题集中在 mconf 二进制与 ncurses 相关组件的兼容性。

怎么解决:

1. 安装构建依赖:

- build-essential

- libncursesw5-dev

- libtinfo-dev

2. 清理并重编译配置工具:

- make -C scripts/config clean

- make -C scripts/config all CC=gcc

3. 重新执行 make menuconfig,界面恢复正常。