All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steve Calfee <stevecalfee@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ?
Date: Thu, 22 Mar 2012 10:55:10 -0700	[thread overview]
Message-ID: <4F6B677E.4020706@gmail.com> (raw)
In-Reply-To: <20120322175530.1f14a73a@skate>

On 03/22/2012 09:55 AM, Thomas Petazzoni wrote:
> Hello,
>
>
> Yes, I agree.
>
> If you want to do that anyway, here are the steps. From a pristine
> Buildroot configuration:
>
>   * Select your architecture
>   * Select your architecture variant
>   * In Build options, set the host dir to /opt/your-toolchain-name where
>     your-toolchain-name would typically be arm-linux-uclibcgnueabi or
>     something like that (but it can also be anything else)
>   * In Toolchain, use the Buildroot internal backend, and configure
>     everything (gcc version, binutils version, etc.)
>   * In Packages, disable Busybox (i.e no packages at all should be
>     selected)
>   * In target filesystems, disable the tarball (i.e no filesystems at
>     all should be selected)
>
> Then, build with make. You have your toolchain
> in /opt/your-toolchain-name. You can erase your Buildroot build and
> configuration now.
>
> Now, you can do a second Buildroot to build your system itself,
> re-using the toolchain you have created.
>
> In the toolchain menu, select external toolchain, and then Custom
> external toolchain. In the toolchain path,
> set /opt/your-toolchain-name/usr/, and adjust the
> IPv6/RPC/locale/wide-char options to the ones you have used when
> building your toolchain. Don't worry if you're not sure here: Buildroot
> will check at the beginning of the build all those options and will
> abort if anything is incorrect.
>
> Regards,
>
> Thomas Petazzoni

I do it slightly differently. I go through most of your steps above, 
except I leave the toolchain in the default buildroot directory. (I 
think it is in output/host...). Then I check out another buildroot tree 
and select external toolchain in that tree to point to the other 
buildroot tree with just the compiler.

This way if I forgot a needed toolchain option, I can go back to the 
original tools tree, make clean, configure to what I need and rebuild 
just the toolchain. Also I can easily upgrade to the latest buildroot 
tools when needed.

You should always use an external toolchain, otherwise the development 
tree is just too painful to do a "make clean" in. But in my use case the 
external toolchain is an external buildroot toolchain.

Regards, Steve

  reply	other threads:[~2012-03-22 17:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-22  9:54 [Buildroot] Can I use the toolchain build with buildroot, as an external toolchain ? Vellemans, Noel
2012-03-22 16:49 ` Grant Edwards
2012-03-22 16:55   ` Thomas Petazzoni
2012-03-22 17:55     ` Steve Calfee [this message]
2012-06-22 14:28       ` Aleksandar Zivkovic
2012-06-23  8:45         ` Thomas Petazzoni
2012-06-25 14:16           ` Aleksandar Zivkovic
2012-06-25 14:22             ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F6B677E.4020706@gmail.com \
    --to=stevecalfee@gmail.com \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.