编译Linux Buildrood会覆盖本地更改

时间:2018-05-06 09:23:15

标签: linux buildroot

我正在努力在我的Linux(propriety distribution)中启用kexec支持,我想调试用户空间中的kexec工具。
我在位于buildroot / output / build / kexec-2.0.15 / kexec / kexec.c的kexec.c中添加了打印件但是如果我再次“make”buildroot,它看起来就像kexec二进制文件已更新,如果我“全部”,意味着从头开始构建 - 源代码kexec.c已被覆盖,我看不到我的更改。
我的猜测是每个构建都会重新提取kexec包,这就是为什么我的更改不会产生任何影响。

有人可以帮我解决这个问题吗?

感谢。

2 个答案:

答案 0 :(得分:3)

尝试使用"进行kexec-rebuild"。

答案 1 :(得分:0)

  

如果您只想从其重新启动程序包的构建过程   编译步骤,你可以运行make <?php $url="https://neunlds120dal.akamaized.net/nlds/univisionnow2/univision_mia/as/live/univision_mia_hd_3000_pc.m3u8"; $url2= file_get_contents($url); echo $url2; > [...]。它将重新启动编译和安装   包,但不是从头开始:它基本上重新执行make和   make install在包内,因此它只会重建那些文件   改变。

     

[...]

     

在内部,Buildroot创建所谓的戳记文件以便跟踪   已为每个包完成了哪些构建步骤。他们是   存储在包构建目录中,   output / build / - /并命名为.stamp_。   上面详述的命令只是将这些戳文件操作为   强制Buildroot重新启动包构建的一组特定步骤   过程

(来自Buildroot手册,Understanding how to rebuild packages部分 - 我建议您阅读整个部分)

另外,请查看您的构建日志。如果你没有看到像

这样的行

<package>-rebuild

然后没有(重新)构建kecxec包。