Commit 33712d7a authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

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: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
parent 298cd8ea
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -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.