2011-10-20 58 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