目前,我致力于使用诡异的分支为beaglebone黑色创建yocto图像。我遵循教程here,大部分成功。在某些时候,我遇到了以下错误:如何处理修补程序,这些修补程序尚未成为版本分支的一部分?
Fetcher failure for URL: ' http://www.lartmaker.nl/lartware/port/devmem2.c '. Checksum mismatch! File: '/home/user/bbb/downloads/devmem2.c' has md5 checksum e23f236e94be4c429aa1ceac0f01544b when be12c0132a1ae118cbf5e79d98427c1d was expected [...]
我做了一些研究,并且发现,这个问题是已知的,并固定this commit到元OpenEmbedded的回购 - 它的发生是因为在devmem2代码的变化。 随着修改提交给主分支,我决定覆盖我的本地morty副本devmem2.bb
。 这样做效果很好,我可以使用bitbake qt5-image
从命令行下载并编译我的映像。
这样做后,我决定给Toaster一个去。我将所需的图层添加到一个新的Toaster项目中,并运行了qt5-image
(它是meta-bbb图层的一部分)的内部版本。然而,我遇到了和以前一样的错误,因为Toaster下载了它自己的版本库。我试着像以前一样重写devmem2.bb
,但没有成功,因为Toaster从VCS检出当前版本,因此恢复了我的更改。
现在,我想知道什么才是正确的行动方式,或者我的选择是什么?
Openembedded advises在校验错误的情况下写入邮件列表。但是我对此犹豫不决,因为它不再是一个开放的问题,我也不完全知道我在做什么。但手动覆盖食谱是危险的,感觉很明显是错误的;即使在工作时。
很明显,我对yocto还是比较新的,甚至对于Toaster来说更新,所以这个问题可能是初学者错误(实际上很确定)。
您是否使用.bbappend文件进行了更改?如果没有,您的更改只是被覆盖。在读取之后,bbappend内所做的更改会被考虑在内,并且不会导致校验和错误。或者不是一个bitbake错误? –
谢谢@ guenni_90你让我走上正轨。 –