【问题标题】:Buildroot linux kernel clean buildBuildroot linux内核干净构建
【发布时间】:2018-10-28 06:26:08
【问题描述】:

我正在使用 buildroot 来构建 linux 固件。我怎样才能只干净地重建 linux 内核(而不必构建整个需要一个小时的东西)?

我试过了——

make linux-rebuild

但这并不干净。

我也试过了

make linux-reconfigure && make linux-rebuild

但这也不起作用。

【问题讨论】:

  • 请编辑您的帖子并包含您在这些命令之后遇到的消息/错误。
  • 我通常cd到内核目录,然后make ARCH=<arch> clean,并删除salient .stamp*文件,例如.stamp_build。注意不要全部删除。

标签: embedded-linux buildroot


【解决方案1】:

如果您想删除 linux 内核源代码中的所有更改,您可以执行以下操作:

make linux-dirclean
make linux-rebuild

第一个命令将删除 output/build/linux* 目录,第二个命令将从头开始获取和重建内核。

【讨论】:

  • 感谢您的回答,很高兴了解 -dirclean。但这是我想做的,我正在寻找一种干净的重建行为。
  • @NiladriBose 使用linux-dirclean 的清洁行为如何不清洁?你观察到什么?
  • 请注意 - 如果在 BR 中启用了下载缓存,您需要删除那里的 linux.tar 发行版
【解决方案2】:

我在 buildroot /dl 文件夹中发现了一个内核 repo 的副本作为 tar.gz 文件存储在其中。如果您不删除该文件,buildroot 将不会提取任何内核更新。

【讨论】:

    【解决方案3】:

    在阅读了很多 buildroot 手册和跟踪和错误之后——这就是你只需要清理 linux 就需要做的事情——

    make clean linux
    

    【讨论】:

    • "make clean linux" 将清理整个构建,而不仅仅是 Linux,所以这个答案是错误的。
    • 错了,至少 2016.02 用于清理我必须做的整个构建 - 全部清理。 Make clean linux 重建 linux-custom。
    • 嗯,Thomas 是 BR 发行版的维护者。我想他知道他在说什么。
    • 好的,make clean linux和make clean all有什么区别?或者换句话说 make clean linux 或 make clean 的目的是什么
    • 或者为什么要让 clean 清理整个构建!大声笑