尝试将 Linux menuconfig 与 yocto/morty 一起使用

Trying to use Linux menuconfig with yocto/morty

我们正在开发自己的嵌入式 Yocto 版本,并希望使用 Linux 内核中的 menuconfig 来配置一些设备驱动程序。我们想将 PPP 支持添加到我们的映像中。

从构建目录我们尝试

bitbake virtual/kernel -c menuconfig

尝试启动 menuconfig 但导致以下错误:

Failed to execute child process "oe-gnome-terminal-phonehome" (No such file or directory)

我们对 linux 内核的研究相当陌生。如有任何帮助,我们将不胜感激!

谢谢,

编辑(新“答案”)

我刚刚意识到根据发布的错误消息,启动您的附加图形终端失败。这是根据 [1] 您的 Python 版本 [2] 中的一个已知问题。并且根据 [3] 仅在 Ubuntu 14.04.5 LTS 上发生,因为添加了 oe-gnome-terminal-phonehome 内容 [4].

因此您可以尝试参与寻找上游接受的解决方案。

[1] https://patchwork.openembedded.org/patch/129527/

[2]https://bugs.python.org/issue8557

[3] https://bugzilla.yoctoproject.org/show_bug.cgi?id=10312

[4] https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=c706bfbabbf9f7caf2cf509eb91381fb49aa44cb


旧答案

我在 devshell 中使用 menuconfig。这(至少对于 jethro)非常有效。

因此,在您的 bitbake 构建目录中执行:

bitbake virtual/kernel -c devshell

然后一个新终端 window 应该会弹出,位于构建目录 TEMPDIR 内的某处。在此 shell 中,您现在应该能够执行:

make menuconfig

打开meta/lib/oe/terminal.py 并替换

sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd

sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd

编辑 terminal.py 的答案部分对我有用。我还必须安装两个 ncurses 库。

:~/fsl$ vi sources/poky/meta/lib/oe/terminal.py
-           sh_cmd = "oe-gnome-terminal-phonehome " + pidfile + " " + sh_cmd
+           sh_cmd = bb.utils.which(os.getenv('PATH'), "oe-gnome-terminal-phonehome") + " " + pidfile + " " + sh_cmd

然后我不得不安装 ncurses

sudo apt-get install libncurses5-dev
sudo apt-get install libncursesw5-dev