Buildroot 工具链 - 只需构建一次
我有多个平台共享相同的构建根。它们的不同之处在于 buildroot 包。在 buildroot 中是否有一种方法可以配置为仅构建一次工具链,然后在其上仅构建包和目标。
不执行 make clean 的示例描述(因此工具链完好无损):
1) 一旦构建了 buildroot,平台 A 就会更新目标 rootfs /etc 中的一些conf 文件(我正在使用平台 A buildroot 配置文件)。 2) 平台 B 不需要 conf 文件,但由于 make clean 尚未完成(尽管使用了平台 B buildroot 配置文件);目标中存在不必要的 /etc/。如果 make clean 完成,那么工具链也需要重建。
感谢您的任何答复。
I have multiple platforms sharing the same buildroot. They differ in the buildroot packages. Is there a way in buildroot where I can configure to build the toolchain only once and then on it builds only the packages and target.
Example depiction without doing a make clean (so toolchain is intact):
1) Platform A updates some conf files in target's rootfs /etc (I am using platform A buildroot configuration files) once buildroot is built.
2) Platform B doesn't require the conf files but since make clean is not done (eventhough Platform B buildroot configuration files are used) ; unnecessary /etc/ are present in the target. If make clean is done then toolchain also needs to be rebuilt.
Thanks for any answers.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的。请参阅http://free-electrons.com/~thomas/ pub/using-buildroot-real-project.pdf 一些关于此的未完成的幻灯片。
你能做的就是一次性构建一个交叉编译工具链(使用Buildroot或crosstool-NG),然后告诉Buildroot使用这个预先构建的交叉编译工具链作为“外部工具链”。这样,Buildroot 将使用现有的编译器,并且在每次完全重新构建 Buildroot 时,您都将节省完整的工具链构建时间。
请注意,这仅适用于较新版本的 Buildroot,即可能不到一年的版本。
Yes. See http://free-electrons.com/~thomas/pub/using-buildroot-real-project.pdf for some unfinished slides about this.
What you can do is to build once for all a cross-compiling toolchain (with Buildroot or crosstool-NG), and then tell Buildroot to use this pre-built cross-compiling toolchain as an "External Toolchain". This way, Buildroot will use that existing compiler, and at every complete rebuilt of Buildroot, you will save the complete toolchain build time.
Note that this only works with reasonably recent versions of Buildroot, i.e, probably less than one year old.