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

bitbake-layers add-layer meta-python meta-raspberrypi failed

我有一个 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

我认为 warrior 版本中的 bitbake-layers 工具存在问题,所以另一种方法是尝试在编辑器中打开 conf/bblayers.conf 文件并删除最后一个 entry/line (可能在 BBLAYERS 变量中包含 meta-networking ) 并保存文件。现在继续 bitbake-layers add-layer

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

希望对您有所帮助

我遇到了同样的错误,用下面的方法解决了

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

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