Skip to contentSkip to conversation

docs/manual: add FAQ entry about speeding up the build process

PATCH New Thomas Petazzoni 3 participants 3 messages Jan 14, 2015 – Jan 18, 2015

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 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.

---
Changes since v1:

- Take into account the feedback from Yann, provided in
http://patchwork.ozlabs.org/patch/397717/. The only place where I tend to disagree a bit is on having the download folder on the network. It does have an impact, albeit small. So I've changed the phrasing to insist on *not* doing an NFS build, and suggesting to also have a local download directory.

---
 docs/manual/faq-troubleshooting.txt | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
docs/manual/faq-troubleshooting.txt +34 -0
index b30b4ac..e24fe9c 100644
@@ -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, or convince your boss to new hardware. SSDs and lots of RAM
+   are key to speeding up the builds.
Signature · 1 line
2.1.0
#1 lore raw

PATCH v2 1/1 docs/manual: add FAQ entry about speeding up the build process

Hi Thomas,

Quoted 2 lines · Thomas Petazzoni

+ * Buy, or convince your boss to new hardware. SSDs and lots of RAM
+ are key to speeding up the builds.

"Buy, or convince your boss to buy new hardware" (added 'buy'). Alternatively:
"Buy new hardware, or convince your boss to do so".

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#2 lore raw

PATCH v2 1/1 docs/manual: add FAQ entry about speeding up the build process

In reply to Thomas Petazzoni

Thomas, All,

On 2015-01-14 22:48 +0100, Thomas Petazzoni spake thusly:

Quoted 5 lines

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.

Except for the nit Baruch noticed:

Quoted 9 lines

---
Changes since v1:

- Take into account the feedback from Yann, provided in
http://patchwork.ozlabs.org/patch/397717/. The only place where I tend to disagree a bit is on having the download folder on the network. It does have an impact, albeit small. So I've changed the phrasing to insist on *not* doing an NFS build, and suggesting to also have a local download directory.

I like how you rephrased it. Thanks! :-)

Regards,
Yann E. MORIN.

Quoted 54 lines
---
 docs/manual/faq-troubleshooting.txt | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
docs/manual/faq-troubleshooting.txt +34 -0
index b30b4ac..e24fe9c 100644
@@ -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, or convince your boss to new hardware. SSDs and lots of RAM
+   are key to speeding up the builds.
Signature · 6 lines
2.1.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'