Yocto Bitbake - Git Fetch 总是卡住

Isl*_*dan 4 linux linux-kernel openembedded bitbake yocto

我正在使用 YOCTO 来构建图像,但 Bitbake 进程总是卡在任何任务中,包括从 git 中获取

前任:

Currently 2 running tasks (1373 of 2477):
0: rpi-mkimage-native-git-r0 do_fetch (pid 2372)
1: linux-raspberrypi-1_4.1.21+gitAUTOINC+ff45bc0e89-r0 do_fetch (pid 2371)
Run Code Online (Sandbox Code Playgroud)

这些任务永远不会结束,我检查了我机器上的 Git,我可以毫无问题地克隆这些存储库。

cha*_*nan 5

我可以告诉您,内核存储库的 do_fetch 可能需要长时间,具体取决于您的“网络连接”。你等了多久?另外,你说你可以在你的机器上克隆......你从什么来源克隆?您是否查看了配方的 SRC_URI 以确定这些配方实际上是从哪里克隆的?就像是:

$ bitbake -e virtual/kernel | grep ^SRC_URI=
Run Code Online (Sandbox Code Playgroud)

应该为您的 linux-raspberrypi 内核配方生成正确的源 URL。不要假设你知道它来自哪里。

与 rpi-mkimage 配方相同:

$ bitbake -e rpi-mkimage | grep ^SRC_URI=
Run Code Online (Sandbox Code Playgroud)

将为您提供该配方的源 URL。

如果您可以使用 bitbake -e 报告的配方中的正确 URL 克隆两者,那么您需要进行一些更深入的故障排除。ps 可以成为你的朋友,看看哪些进程正在运行并可能等待某些东西。通常 do_fetch 的日志不会太令人兴奋,但请检查它们。查看每个食谱的 ${WORKDIR}/temp。同样,bitbake -e 将为您提供每个配方的 WORKDIR:

$ bitbake -e virtual/kernel | grep ^WORKDIR=
Run Code Online (Sandbox Code Playgroud)

或者

$ bitbake -e rpi-mkimage | grep ^WORKDIR=
Run Code Online (Sandbox Code Playgroud)

狩猎快乐。


Isl*_*dan 0

问题解决了

正如 @Marcus Muller 所说,这是一个防火墙问题。