我正在努力在适当的Linux发行版中启用kexec支持,并且我想在用户空间中调试kexec工具。我在buildroot / output / build / kexec-2.0.15 / kexec / kexec.c中的kexec.c中添加调试打印,但是如果我使用进行增量构建make,它看起来不像kexec二进制文件中的已更新。如果我从头开始重新构建所有内容make all,则源代码kexec.c已被覆盖,看不到我的更改。我的猜测是,每个完整版本都会重新提取kexec软件包,这就是为什么我的更改没有生效的原因。我该如何解决这个问题?
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
如果您只想从其编译步骤重新启动程序包的生成过程,则可以运行make
<package>-rebuild
[...]。它将重新启动软件包的编译和安装,但不会从头开始:它基本上在软件包内部重新执行make和make install,因此它将仅重建已更改的文件。[...]
在内部,Buildroot创建所谓的图章文件,以跟踪每个软件包已完成的构建步骤。它们存储在程序包的构建目录output / build /-/中,并命名为.stamp_。上面详细介绍的命令仅操作这些标记文件即可强制Buildroot重新启动软件包构建过程的一组特定步骤。
(从Buildroot手册的“了解如何重建软件包”部分中,我建议您阅读整个部分)
另外,请查看您的构建日志。如果您没有看到类似
>>> kexec 2.0.16 Building
那么尚未构建(重新)kecxec软件包。
- 2 回答
- 0 关注
- 359 浏览
添加回答
举报
0/150
提交
取消