All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] how to repopulate /output/target/lib?
Date: Mon, 25 Jun 2012 13:55:06 +0200	[thread overview]
Message-ID: <20120625135506.29fcf6c9@skate> (raw)
In-Reply-To: <CAJkQPOnh+SqhaV5eZ1YQhVzK2cfmzK=StTVSGZ=P1V0Oxgdi3g@mail.gmail.com>

Hello Aras,

Le Mon, 25 Jun 2012 12:46:50 +0100,
Aras Vaichas <aras.vaichas@gmail.com> a ?crit :

> I understand that output/staging holds all the libraries, but how do
> the correct libraries get copied to output/target? How can I trigger
> this action without having to do a "make clean; make"?

So far, we have no supported mechanism other than "make clean; make" to
rebuild the target root filesystem. That's part of the Buildroot
simplicity: we don't try to support partial rebuilds, because it is
very complicated to get 100% right, and we don't want to support
something that is right 90% of the time, but is known to have an
incorrect behavior 10% of the time.

To answer your question, the libraries are installed in
output/target/{usr/,}lib by:

 * The toolchain installation procedure. This one depends on whether
   you're using the internal, external or crosstool-ng backend for your
   toolchain. This part installs the C library and related basic
   libraries (thread, math, rt, etc.).

 * The package installation steps, which should be replayed if you
   remove .stamp_target_installed files, as you did.

Basically, my suggestions to do what you're trying to do is:

 * Don't use a custom skeleton, do your customization in a post-build
   script, because it gets re-run at every build, while the skeleton
   copy is only done once at the beginning of a clean build;

 * When you make a change to a package, just remove this package build
   directory (rm -rf output/build/<pkg>-<version>). This is generally
   enough to check that the new installation results are correct.

 * Use an external toolchain so that doing "make clean; make" is not
   too painful.

 * Ensure you have a fast enough build machine (i.e, not a slow Windows
   laptop that runs Linux inside a VMWare)

I'm applying all those suggestions, and I'm a fairly happy Buildroot
user :)

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2012-06-25 11:55 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-25 11:46 [Buildroot] how to repopulate /output/target/lib? Aras Vaichas
2012-06-25 11:55 ` Thomas Petazzoni [this message]
     [not found]   ` <CAJkQPOm=27BykDt-jkfFExR6bSKJhtgK-TUFQbZ=bDkyOi38pA@mail.gmail.com>
2012-06-25 13:10     ` Thomas Petazzoni
2012-06-25 14:09   ` Luca Ceresoli

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=20120625135506.29fcf6c9@skate \
    --to=thomas.petazzoni@free-electrons.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.