为了账号安全,请及时绑定邮箱和手机立即绑定

编译Linux Buildroot会覆盖本地更改

编译Linux Buildroot会覆盖本地更改

ITMISS 2021-04-06 13:10:56
我正在努力在适当的Linux发行版中启用kexec支持,并且我想在用户空间中调试kexec工具。我在buildroot / output / build / kexec-2.0.15 / kexec / kexec.c中的kexec.c中添加调试打印,但是如果我使用进行增量构建make,它看起来不像kexec二进制文件中的已更新。如果我从头开始重新构建所有内容make all,则源代码kexec.c已被覆盖,看不到我的更改。我的猜测是,每个完整版本都会重新提取kexec软件包,这就是为什么我的更改没有生效的原因。我该如何解决这个问题?
查看完整描述

2 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

尝试使用“ make kexec-rebuild”。


查看完整回答
反对 回复 2021-04-16
?
守着一只汪

TA贡献1872条经验 获得超3个赞

如果您只想从其编译步骤重新启动程序包的生成过程,则可以运行make <package>-rebuild[...]。它将重新启动软件包的编译和安装,但不会从头开始:它基本上在软件包内部重新执行make和make install,因此它将仅重建已更改的文件。

[...]

在内部,Buildroot创建所谓的图章文件,以跟踪每个软件包已完成的构建步骤。它们存储在程序包的构建目录output / build /-/中,并命名为.stamp_。上面详细介绍的命令仅操作这些标记文件即可强制Buildroot重新启动软件包构建过程的一组特定步骤。

(从Buildroot手册的“了解如何重建软件包”部分中,我建议您阅读整个部分)

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

>>> kexec 2.0.16 Building

那么尚未构建(重新)kecxec软件包。


查看完整回答
反对 回复 2021-04-16
  • 2 回答
  • 0 关注
  • 336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信