closures源校验和检查Yocto

我可以在Yocto中指定BB_STRICT_CHECKSUM = "0"来禁止源代码的校验和检查吗?

我得到:

 ERROR: No checksum specified for /PATH/TO/ti-linux-kernel.git, please add at least one to the recipe: SRC_URI[md5sum] = "e8e287fd725bea8b4220ebe9094cda86" SRC_URI[sha256sum] = "4a4f522b05e6c1fcd1872f2fc7c82061dfdc4a19c5f866858005daa198f89bbb" 

Yocto文档中没有看到名为BB_STRICT_CHECKSUM的变量。

据我所知,你不应该指定一个git仓库的SRC_URI[...]校验和。 在你的bitbake配方中,/ /PATH/TO/ti-linux-kernel.git在它的前面有一个git:// ? Bitbake使用它来确定要使用的SCM工具的类型。 如果你想通过http访问一个git仓库,你可以指定

 SRC_URI = "git://server.com/PATH/TO/ti-linux-kernel.git;protocol=http" 

令人难以置信的是,这只是在SRC_URI的文档中暗示 。

SRC_URI [md5sum]和SRC_URI [sha256sum]是用来确保下载的压缩包与编写配方时相同。 如果你正在添加一个tarball(比如http://server.com/path/to/some-project.tar.gz ), 推荐的方法是

…评论说明,然后尝试构建软件。 构建会为每个缺少的校验和产生一个错误,并且作为错误消息的一部分提供正确的校验和字符串。 一旦你有正确的校验和,只需将它们复制到你的配方中以便后续的构建。

你可以看到你的错误信息,在这种情况下,他们确实已经提供。

关于这个页面BB_STRICT_CHECKSUM是一个可以在.bb文件中使用的变量。 所以,你可以简单的把下面一行添加到你的SRC_URI已经设置的相应的.bb文件中,以避免校验和检查错误:

 BB_STRICT_CHECKSUM = "0" 

通过添加这一行校验和检查错误(说:没有指定blah / blah / blah的校验和,请添加至少一个配方或另一个错误说:缺少SRC_URI校验和)不会打破编译过程了,只是一个警告将被抛出。

希望能帮助到你

如果您使用https: // some_path克隆回购,您将需要

 SRC_URI[md5sum] = "e8e287fd725bea8b4220ebe9094cda86" SRC_URI[sha256sum] = " 4a4f522b05e6c1fcd1872f2fc7c82061dfdc4a19c5f866858005daa198f89bbb" 

当你用git: // some_path克隆repo时,你将需要任何其他文件的md5sum

 LIC_FILES_CHKSUM = "file://LICENSE;md5=a77c327d4d1da3707d42dde9725d4769"