我搞砸了目标fs中的一些文件.所以我想重新组装它.但不是全部重建.
make clean只删除所有输出,构建目录.
应该使用什么命令通过输出/构建/结构递归地删除目标目录和所有相关的.stamp_some_step文件,强制buildroot根据当前配置重新组装文件系统,但不能一次又一次地重建所有库和二进制文件?
解决方法
Buildroot跟踪每个包构建目录中.stamp_xxx的构建进度.
目标安装实际上是每个包的最后一个阶段.因此,从每个包构建目录中删除.stamp_target_installed文件将导致它重新安装到目标
目标安装实际上是每个包的最后一个阶段.因此,从每个包构建目录中删除.stamp_target_installed文件将导致它重新安装到目标
在最新的buildroot中,您可以简单地执行以下操作:
rm -rf output/target find output/ -name ".stamp_target_installed" |xargs rm -rf
在一些较旧的buildroot中,输出中还有一些其他文件跟踪使用骨架创建目标目录.引用mailing list message,我们可以总结如下:
Does a “rm -rf output/target && make” work?
正如托马斯所说,它不起作用.但是,存在一些非正式的黑客攻击:> remove build / .root将强制重新安装骨架> remove build / * /.stamp_target_installed force重新安装每个目标包>根据您的工具链,您可以通过删除重新安装libc和co:>邮票/ ext-toolchain-installed(外部)> stamps / ct-ng-toolchain-installed(ctng)> target / lib / libc.so.0(buildroot)然后再做一次.提醒一下,有很多原因这些提示可能会做错事.唯一的目前重建目标的官方方式是“干净利落”.