From: Thomas Petazzoni Date: Wed, 14 Jan 2015 21:48:13 +0000 (+0100) Subject: docs/manual: add FAQ entry about speeding up the build process X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33712d7a7cce08b07124a37a3cdf29c5f5b6def6;p=buildroot.git docs/manual: add FAQ entry about speeding up the build process This is a very frequently asked question, so let's add a FAQ entry about it, that we can progressively extend with more advices for our users. [Thomas: remove the part about your boss buying new hardware, as suggested by reviewers.] Signed-off-by: Thomas Petazzoni Acked-by: "Yann E. MORIN" --- diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt index b30b4ac43c..825899b047 100644 --- a/docs/manual/faq-troubleshooting.txt +++ b/docs/manual/faq-troubleshooting.txt @@ -205,3 +205,37 @@ On this matter, the Buildroot developers make this position statement: upgrades by upgrading the entire root filesystem image at once, the image deployed to the embedded system is guaranteed to really be the one that has been tested and validated. + +[[faq-speeding-up-build]] +=== How to speed-up the build process? + +Since Buildroot often involves doing full rebuilds of the entire +system that can be quite long, we provide below a number of tips to +help reduce the build time: + + * Use a pre-built external toolchain instead of the default Buildroot + internal toolchain. By using a pre-built Linaro toolchain (on ARM) + or a Sourcery CodeBench toolchain (for ARM, x86, x86-64, MIPS, + etc.), you will save the build time of the toolchain at each + complete rebuild, approximately 15 to 20 minutes. Note that + temporarily using an external toolchain does not prevent you to + switch back to an internal toolchain (that may provide a higher + level of customization) once the rest of your system is working; + + * Use the +ccache+ compiler cache (see: xref:ccache[]); + + * Learn about rebuilding only the few packages you actually care + about (see xref:rebuild-pkg[]), but beware that sometimes full + rebuilds are anyway necessary (see xref:full-rebuild[]); + + * Make sure you are not using a virtual machine for the Linux system + used to run Buildroot. Most of the virtual machine technologies are + known to cause a significant performance impact on I/O, which is + really important for building source code; + + * Make sure that you're using only local files: do not attempt to do + a build over NFS, which significantly slows down the build. Having + the Buildroot download folder available locally also helps a bit. + + * Buy new hardware. SSDs and lots of RAM are key to speeding up the + builds.