bitbake-layers添加层meta-python meta-raspberrypi失败

时间:2019-12-01 17:15:50

标签: raspberry-pi yocto

我有一个Raspberry 4模型B,并试图从Ubuntu上构建Yocoto linux进行安装。我正在按照https://medium.com/@shantanoodesai/run-docker-on-a-raspberry-pi-4-with-yocto-project-551d6b615c0b的说明进行操作。在步骤

bitbake-layers add-layer ../layers/meta-openembedded/meta-python
bitbake-layers add-layer ../layers/meta-raspberrypi

我遇到了以下错误

pi@raspberrypi:~/Yocto/RaspberryPi/build $ bitbake-layers add-layer ../layers/meta-openembedded/meta-python
NOTE: Starting bitbake server...
Traceback (most recent call last):
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/bin/bitbake-layers", line 93, in <module>
    ret = main()
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/bin/bitbake-layers", line 61, in main
    tinfoil.prepare(True)
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/tinfoil.py", line 408, in prepare
    self.run_command('parseConfiguration')
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/tinfoil.py", line 466, in run_command
    raise TinfoilCommandFailed(result[1])
bb.tinfoil.TinfoilCommandFailed: Traceback (most recent call last):
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/command.py", line 74, in runCommand
    result = command_method(self, commandline)
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/command.py", line 275, in parseConfiguration
    command.cooker.parseConfiguration()
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/cooker.py", line 427, in parseConfiguration
    self.handleCollections(self.data.getVar("BBFILE_COLLECTIONS"))
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/cooker.py", line 1225, in handleCollections
    raise CollectionError("Errors during parsing layer configuration")
bb.cooker.CollectionError: Errors during parsing layer configuration

pi@raspberrypi:~/Yocto/RaspberryPi/build $ bitbake-layers add-layer ../layers/meta-raspberrypi
NOTE: Starting bitbake server...
Traceback (most recent call last):
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/bin/bitbake-layers", line 93, in <module>
    ret = main()
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/bin/bitbake-layers", line 61, in main
    tinfoil.prepare(True)
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/tinfoil.py", line 408, in prepare
    self.run_command('parseConfiguration')
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/tinfoil.py", line 466, in run_command
    raise TinfoilCommandFailed(result[1])
bb.tinfoil.TinfoilCommandFailed: Traceback (most recent call last):
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/command.py", line 74, in runCommand
    result = command_method(self, commandline)
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/command.py", line 275, in parseConfiguration
    command.cooker.parseConfiguration()
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/cooker.py", line 427, in parseConfiguration
    self.handleCollections(self.data.getVar("BBFILE_COLLECTIONS"))
  File "/home/pi/Yocto/RaspberryPi/layers/poky/bitbake/lib/bb/cooker.py", line 1225, in handleCollections
    raise CollectionError("Errors during parsing layer configuration")
bb.cooker.CollectionError: Errors during parsing layer configuration

谁能建议应解决的问题?

我的gcc-multilib安装也失败

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm python
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'git' instead of 'git-core'
Package gcc-multilib is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'gcc-multilib' has no installation candidate

2 个答案:

答案 0 :(得分:2)

我认为这里的战士版本中的bitbake-layers工具存在问题,因此一种替代方法是尝试在编辑器中打开conf/bblayers.conf文件并删除最后一个条目/行(可能包含元-networking),然后保存文件。现在继续BBLAYERS

bitbake-layers add-layer

希望这会有所帮助

答案 1 :(得分:0)

我遇到了同样的错误,并通过以下方法解决了

  1. 所有层应位于同一分支上。像meta-raspberripi,meta-openembedded,meta-poky应该在同一宙斯分支上。 我们可以通过git分支来检查我们在哪个分支上。 我们可以通过git checkout zeus移动到分支。

  2. 如果您已经出错,则打开bblayers.conf并删除最后添加的层,然后再次添加新层(如上所述)。