2011-10-20 29 views
4

我有多个平台共享相同的buildroot。它们在buildroot包中有所不同。有没有一种方法可以在我可以配置的buildroot中只构建一次工具链,然后构建只包和目标。Buildroot工具链 - 只需要构建一次

示例描绘没有做一个make clean(这样的工具链是完整的):

1)A平台在目标的根文件系统的/ etc(我使用的平台buildroot的配置文件),一旦buildroot的内置更新一些conf文件。 2)平台B不需要conf文件,但由于make clean没有完成(尽管使用了Platform B buildroot配置文件);不必要的/ etc /存在于目标中。如果清理完成,工具链也需要重建。

感谢您的任何答案。

回答

4

是的。有关这方面的一些未完成的幻灯片,请参阅http://free-electrons.com/~thomas/pub/using-buildroot-real-project.pdf

你可以做的是为所有的交叉编译工具链(使用Buildroot或crosstool-NG)建立一次,然后告诉Buildroot使用这个预先构建的交叉编译工具链作为“外部工具链”。这样,Buildroot将使用现有的编译器,并且在每次完全重建Buildroot时,都将节省完整的工具链编译时间。

请注意,这只适用于合理的近期版本的Buildroot,即可能不到一年。

+0

我想在buildroot-2009.01的含义外部工具链上做同样的配置工作;但最终在构建过程中出现一些错误。有没有办法让这个工作在旧的buildroot上? – lxusr

+0

uclibc.mk存在问题;如果BR2_TOOLCHAIN_SOURCE没有endif。看到这个问题在buildroot-2009.02中修复。对于任何想要在buildroot-2009.01中使用EXTERNAL TOOLCHAIN的人,请在buildroot-2009.01/toolchain/uClibc文件夹下的uclibc.mk中放置一个endif @结尾。谢谢。 – lxusr