如何解决“找到多个初始化脚本(元开放嵌入与狭隘)。通过删除其中一个存储库来解决歧义”而不删除一个存储库

问题描述 投票:0回答:1

这里还有另一个非常相似的问题,但没有答案,所以无论如何我都会尝试

我使用 Kas 4.5 来设置 yocto 构建 我需要元赛灵思,它需要开放嵌入式元层 https://layers.openembedded.org/layerindex/branch/master/layer/meta-xilinx-bsp/

但是当我将 openembedded 添加到我的 kas 中时,出现以下错误

./myimage/tools/myimage_docker.sh kas build
Using /home/spire/air/myimage/docker/docker-compose.yml running kas -l debug build /air/myimage/bitbake/kas.yml 
Creating docker_yocto_run ... done
2024-12-12 16:14:56 - INFO     - kas 4.5 started
2024-12-12 16:14:56 - DEBUG    - Using selector: EpollSelector
2024-12-12 16:14:56 - DEBUG    - /air/myimage/bitbake$ git rev-parse --show-toplevel
2024-12-12 16:14:56 - DEBUG    - /air/myimage/bitbake$ git rev-parse --show-toplevel
2024-12-12 16:14:56 - DEBUG    - execute setup_dir
2024-12-12 16:14:56 - DEBUG    - execute setup_home
2024-12-12 16:14:56 - DEBUG    - execute init_setup_repos
2024-12-12 16:14:56 - DEBUG    - execute repo_setup_loop
2024-12-12 16:14:56 - DEBUG    - Loop repo_setup_loop: execute setup_repos_step
2024-12-12 16:14:56 - DEBUG    - execute finish_setup_repos
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git remote set-url origin https://git.yoctoproject.org/git/poky
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git remote set-url origin https://git.openembedded.org/openembedded-core
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git cat-file -t scarthgap
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git cat-file -t scarthgap
2024-12-12 16:14:56 - INFO     - Repository meta-openembedded already contains scarthgap as commit
2024-12-12 16:14:56 - INFO     - Repository poky already contains scarthgap as commit
2024-12-12 16:14:56 - DEBUG    - Configuration from config file:
{'distro': 'poky',
 'header': {'version': 17},
 'machine': 'qemu64',
 'repos': {'meta-openembedded': {'commit': 'scarthgap',
                                 'layers': {'meta-networking': None,
                                            'meta-oe': None,
                                            'meta-python': None},
                                 'url': 'https://git.openembedded.org/openembedded-core'},
           'poky': {'commit': 'scarthgap',
                    'layers': {'meta': None, 'meta-poky': None},
                    'url': 'https://git.yoctoproject.org/git/poky'}},
 'target': 'core-image-minimal'}
2024-12-12 16:14:56 - DEBUG    - execute repos_checkout
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git status -s
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git checkout -q scarthgap
2024-12-12 16:14:56 - INFO     - Repository poky checked out to scarthgap
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git status -s
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git checkout -q scarthgap
2024-12-12 16:14:56 - INFO     - Repository meta-openembedded checked out to scarthgap
2024-12-12 16:14:56 - DEBUG    - execute repos_apply_patches
2024-12-12 16:14:56 - DEBUG    - execute setup_environ
2024-12-12 16:14:56 - ERROR    - Multiple init scripts found (meta-openembedded vs. poky). Resolve ambiguity by removing one of the repos
ERROR: 2

我在这里缺少什么?听起来这应该是一件非常简单的事情,但我无法破解它

我确实读过这篇文章和一些码头,所以我不知道 meta-openembedded 的元-oe 与 Poky 的元

yocto xilinx openembedded
1个回答
0
投票

所以我得到了一些东西。

有两个主要的开放嵌入式存储库: 开放嵌入式核心 和元开放嵌入式

  1. openembedded-core 是它自己的发行版(非发行版或无发行版),因此它与 poky 类似,poky 也是一个发行版,并且它们 两者都有初始化脚本。
  2. meta-openembedded 只是在发行版之上添加的层,这就是我对 openembedded 的期望,但弄错了。

因此,例如,当您访问 meta-xilinx-bsp 时,查看其依赖项,它会显示 openembedded-core。所以我去尝试包含它(愚蠢的我),但由于我是在 poky 上构建的,所以我真的应该包含 meta-openembedded 。这是有效的,因为后者只是元层,不会与 poky 冲突。

这就是修复方法,忽略层的依赖关系并将链接中的 openembedded-core 重命名为 meta-openembedded。

希望这可以节省某人的时间。

© www.soinside.com 2019 - 2024. All rights reserved.