尝试使用带有yocto / morty的Linux menuconfig

时间:2017-03-01 22:32:45

标签: linux-kernel yocto openembedded

我们正在开发自己的嵌入式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内核上工作相当新。任何帮助将不胜感激!

谢谢,

3 个答案:

答案 0 :(得分:4)

打开 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

答案 1 :(得分:2)

编辑(新"答案")

我刚刚意识到根据发布的错误消息,启动您的附加图形终端失败。这是[1]根据你的Python版本[2]中已知的问题。并且仅在Ubuntu 14.04.5 LTS上根据[3]发生,因为添加了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

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

make menuconfig

答案 2 :(得分:0)

编辑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