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