【问题标题】:How to use buildroot with custom changes in packages如何在包中使用 buildroot 进行自定义更改
【发布时间】:2019-03-20 07:06:49
【问题描述】:

我有一个包含所有配置的 buildroot 目录 我正在使用一个包,对于某个用例,我想检查包在运行时失败的地方。

我正在尝试稍微修改包,但我不知道如何构建包含调试打印的包。

我试着喜欢这个

  1. 转到buildroot/dl/package/文件夹
  2. 解压包
  3. 来源变更
  4. gzip 压缩包
  5. 删除 buildroot/output/build/package 中的中间体
  6. 构建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 进行更多控制?

【问题讨论】:

    标签: buildroot


    【解决方案1】:

    两种选择:

    • 如需快速测试,请修改output/build/<pkg>-<version>/ 中的源代码,然后运行make <pkg>-rebuild 以强制重建该包。请注意,在 Buildroot 中执行 make clean 时,output/build/<pkg>-<version>/ 文件夹会丢失,因此这仅适用于一些快速调试/调查。

    • 对于源代码的实际开发,我建议使用<pkg>_OVERRIDE_SRCDIR机制。在 Buildroot 树的根目录下创建一个local.mk 文件。在这个文件中,输入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 中的后续内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 2021-08-16
      • 2020-09-08
      相关资源
      最近更新 更多