* [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