我有一个buildroot目录,其中包含我正在使用软件包的所有配置,对于某些用例,我想检查该软件包在运行时失败的地方。
我正在尝试对软件包进行一些修改,但是我不知道如何使用包含的调试打印信息来构建此软件包。
我试图喜欢这个
buildroot/dl/package/
文件夹make
现在,build root使用某种哈希值,并拒绝我所做的更改。它重新下载了软件包并替换了我的更改。
ERROR: imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz has wrong sha256 hash:
ERROR: expected: 5855c8964f908ad30e5d4500180ee57c51af68186289ef1bdf8553ee60d3b1f5
ERROR: got : b5c22a971d9c9130b1b0f5ddd5b60b2eabd60607421c0f746ef0543b42960977
ERROR: Incomplete download, or man-in-the-middle (MITM) attack
dl-wrapper: Re-downloading 'imx-kobs-a0e9adce2fb7fcd57e794d7f9a5deba0f94f521b.tar.gz'...
如何使用具有更多控制权的buildroot?
两种选择:
为了进行快速测试,请修改中的源代码output/build/<pkg>-<version>/
,然后运行make <pkg>-rebuild
以强制重建该程序包。请注意,在Buildroot中output/build/<pkg>-<version>/
执行操作时,文件夹会丢失make clean
,因此这仅对某些快速调试/调查有用。
对于源代码的实际开发,我建议使用该<pkg>_OVERRIDE_SRCDIR
机制。local.mk
在Buildroot树的根目录下创建一个文件。在此文件中,放入FOO_OVERRIDE_SRCDIR = $(HOME)/foo
。从现在开始,Buildroot将不再下载/提取/修补foo
软件包,而是将源代码从其中同步$(HOME)/foo
到软件包的构建目录中。运行make foo-rebuild
将重新运行rsync并重新启动此程序包的构建。这意味着您可以更改源代码,$(HOME)/foo
并通过这些更改非常快速地重建软件包。另请参见幻灯片269和以下内容:https://bootlin.com/doc/training/buildroot/buildroot-slides.pdf。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句