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