Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target
@ 2014-10-08 20:16 Thomas Petazzoni
  2014-10-08 20:16 ` [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process Thomas Petazzoni
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2014-10-08 20:16 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 docs/manual/faq-troubleshooting.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
index 7195234..693028c 100644
--- a/docs/manual/faq-troubleshooting.txt
+++ b/docs/manual/faq-troubleshooting.txt
@@ -35,7 +35,9 @@ target_ would be stopped from the Buildroot-2012.11 release because:
 * this feature was only available for Buildroot toolchains;
 * Buildroot mostly targets _small_ or _very small_ target hardware
   with limited resource onboard (CPU, ram, mass-storage), for which
-  compiling does not make much sense.
+  compiling on the target does not make much sense;
+* Buildroot aims at easing the cross-compilation, making native
+  compilation on the target unnecessary.
 
 If you need a compiler on your target anyway, then Buildroot is not
 suitable for your purpose. In such case, you need a _real
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process
  2014-10-08 20:16 [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Thomas Petazzoni
@ 2014-10-08 20:16 ` Thomas Petazzoni
  2014-10-08 20:49   ` Yann E. MORIN
  2014-10-08 20:23 ` [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Yann E. MORIN
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2014-10-08 20:16 UTC (permalink / raw)
  To: buildroot

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.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 docs/manual/faq-troubleshooting.txt | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
index 693028c..9325ac0 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 the build time of the toolchain at each build,
+   approximately 15 to 20 minutes. Note that using an external
+   toolchain temporarily 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, or to keep the Buildroot download folder over
+   NFS. This significantly slows down the build;
+
+ * Buy (or convince your boss to) new hardware. SSDs and lots of RAM
+   are key to speeding up the builds.
-- 
2.0.0

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target
  2014-10-08 20:16 [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Thomas Petazzoni
  2014-10-08 20:16 ` [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process Thomas Petazzoni
@ 2014-10-08 20:23 ` Yann E. MORIN
  2014-10-08 20:25   ` Thomas Petazzoni
  2014-10-08 20:50 ` Yann E. MORIN
  2014-10-12 15:27 ` Peter Korsgaard
  3 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2014-10-08 20:23 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2014-10-08 22:16 +0200, Thomas Petazzoni spake thusly:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  docs/manual/faq-troubleshooting.txt | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
> index 7195234..693028c 100644
> --- a/docs/manual/faq-troubleshooting.txt
> +++ b/docs/manual/faq-troubleshooting.txt
> @@ -35,7 +35,9 @@ target_ would be stopped from the Buildroot-2012.11 release because:
>  * this feature was only available for Buildroot toolchains;
>  * Buildroot mostly targets _small_ or _very small_ target hardware
>    with limited resource onboard (CPU, ram, mass-storage), for which
> -  compiling does not make much sense.
> +  compiling on the target does not make much sense;

I'd phrase that differently:

    Buildroot mostly targets _small_ or _very small_ target hardware
    with limited resource onboard (CPU, ram, mass-storage), on which
    compiling does not much much sense.

Note:  s/for/on/

Regards,
Yann E. MORIN.

> +* Buildroot aims at easing the cross-compilation, making native
> +  compilation on the target unnecessary.
>  
>  If you need a compiler on your target anyway, then Buildroot is not
>  suitable for your purpose. In such case, you need a _real
> -- 
> 2.0.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target
  2014-10-08 20:23 ` [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Yann E. MORIN
@ 2014-10-08 20:25   ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2014-10-08 20:25 UTC (permalink / raw)
  To: buildroot

Dear Yann E. MORIN,

On Wed, 8 Oct 2014 22:23:13 +0200, Yann E. MORIN wrote:

> > diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
> > index 7195234..693028c 100644
> > --- a/docs/manual/faq-troubleshooting.txt
> > +++ b/docs/manual/faq-troubleshooting.txt
> > @@ -35,7 +35,9 @@ target_ would be stopped from the Buildroot-2012.11 release because:
> >  * this feature was only available for Buildroot toolchains;
> >  * Buildroot mostly targets _small_ or _very small_ target hardware
> >    with limited resource onboard (CPU, ram, mass-storage), for which
> > -  compiling does not make much sense.
> > +  compiling on the target does not make much sense;
> 
> I'd phrase that differently:
> 
>     Buildroot mostly targets _small_ or _very small_ target hardware
>     with limited resource onboard (CPU, ram, mass-storage), on which
>     compiling does not much much sense.
> 
> Note:  s/for/on/

Right, that's another option, but I find my version to be even more
explicit. Your version is correct, but still leaves a still bit of
fuzziness about the machine on which we're talking about compiling
things on.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process
  2014-10-08 20:16 ` [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process Thomas Petazzoni
@ 2014-10-08 20:49   ` Yann E. MORIN
  0 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2014-10-08 20:49 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2014-10-08 22:16 +0200, Thomas Petazzoni spake thusly:
> 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.
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  docs/manual/faq-troubleshooting.txt | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
> index 693028c..9325ac0 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 the build time of the toolchain at each build,

you will (something) the build time of the toolchain...

I'd suggest:
    you will gain back the time it takes to build the toolchain,
    approximately 15 to 20 minutes, at each subsequent complete rebuild.

> +   approximately 15 to 20 minutes. Note that using an external
> +   toolchain temporarily does not prevent you to switch back to an

...temporarily using an external toolchain...

> +   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, or to keep the Buildroot download folder over
> +   NFS. This significantly slows down the build;

Well, if there was but one thing to put on the network, it would be the
download directory.

Given a relatively fast LAN, an NFS- (or even CIFS- or sshfs-) hosted
BR2_DL_DIR would not drastically impact performance. Note that, beside
transfer bandwidth, there is almost invariably decompression to be done.

> + * Buy (or convince your boss to) new hardware. SSDs and lots of RAM

Buy, or convince your boss to buy new hardware.

Regards,
Yann E. MORIN.

> +   are key to speeding up the builds.
> -- 
> 2.0.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target
  2014-10-08 20:16 [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Thomas Petazzoni
  2014-10-08 20:16 ` [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process Thomas Petazzoni
  2014-10-08 20:23 ` [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Yann E. MORIN
@ 2014-10-08 20:50 ` Yann E. MORIN
  2014-10-12 15:27 ` Peter Korsgaard
  3 siblings, 0 replies; 7+ messages in thread
From: Yann E. MORIN @ 2014-10-08 20:50 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2014-10-08 22:16 +0200, Thomas Petazzoni spake thusly:
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

I agree with your reply to my previous comment, so:

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  docs/manual/faq-troubleshooting.txt | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/manual/faq-troubleshooting.txt b/docs/manual/faq-troubleshooting.txt
> index 7195234..693028c 100644
> --- a/docs/manual/faq-troubleshooting.txt
> +++ b/docs/manual/faq-troubleshooting.txt
> @@ -35,7 +35,9 @@ target_ would be stopped from the Buildroot-2012.11 release because:
>  * this feature was only available for Buildroot toolchains;
>  * Buildroot mostly targets _small_ or _very small_ target hardware
>    with limited resource onboard (CPU, ram, mass-storage), for which
> -  compiling does not make much sense.
> +  compiling on the target does not make much sense;
> +* Buildroot aims at easing the cross-compilation, making native
> +  compilation on the target unnecessary.
>  
>  If you need a compiler on your target anyway, then Buildroot is not
>  suitable for your purpose. In such case, you need a _real
> -- 
> 2.0.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target
  2014-10-08 20:16 [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2014-10-08 20:50 ` Yann E. MORIN
@ 2014-10-12 15:27 ` Peter Korsgaard
  3 siblings, 0 replies; 7+ messages in thread
From: Peter Korsgaard @ 2014-10-12 15:27 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-10-12 15:27 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-08 20:16 [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Thomas Petazzoni
2014-10-08 20:16 ` [Buildroot] [PATCH 2/2] docs/manual: add FAQ entry about speeding up the build process Thomas Petazzoni
2014-10-08 20:49   ` Yann E. MORIN
2014-10-08 20:23 ` [Buildroot] [PATCH 1/2] docs/manual: slightly improve faq entry about compiler on target Yann E. MORIN
2014-10-08 20:25   ` Thomas Petazzoni
2014-10-08 20:50 ` Yann E. MORIN
2014-10-12 15:27 ` Peter Korsgaard

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox