* [Buildroot] force buildroot to regenerate the output/target directory tree
@ 2013-02-25 13:46 Francesco Montorsi
2013-02-25 14:16 ` Thomas Petazzoni
2013-02-25 15:15 ` Jérôme Pouiller
0 siblings, 2 replies; 5+ messages in thread
From: Francesco Montorsi @ 2013-02-25 13:46 UTC (permalink / raw)
To: buildroot
Hi,
I've been using buildroot since some time and there is a thing I didn't figure
out yet. Consider this situation: I have a working buildroot environment; I have
copied into the output/target folder some stuff so that when I run "make"
buildroot generates for me images into output/images which already contain the
contents I manually copied.
Now I would like to "reset" the output/target folder, i.e. obtain the buildroot
"vanilla" output/target tree and to obtian the buildroot vanilla
output/images.... how can I do that without doing a "make clean" (which requires
re-compilation of all packages and takes a lot of time)?
does a "rm -rf output/target && make" works?
Thanks!
Francesco
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] force buildroot to regenerate the output/target directory tree
2013-02-25 13:46 [Buildroot] force buildroot to regenerate the output/target directory tree Francesco Montorsi
@ 2013-02-25 14:16 ` Thomas Petazzoni
2013-02-25 19:59 ` Francesco Montorsi
2013-02-25 15:15 ` Jérôme Pouiller
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni @ 2013-02-25 14:16 UTC (permalink / raw)
To: buildroot
Dear Francesco Montorsi,
On Mon, 25 Feb 2013 13:46:00 +0000 (UTC), Francesco Montorsi wrote:
> I've been using buildroot since some time and there is a thing I
> didn't figure out yet. Consider this situation: I have a working
> buildroot environment; I have copied into the output/target folder
> some stuff so that when I run "make" buildroot generates for me
> images into output/images which already contain the contents I
> manually copied. Now I would like to "reset" the output/target
> folder, i.e. obtain the buildroot "vanilla" output/target tree and to
> obtian the buildroot vanilla output/images.... how can I do that
> without doing a "make clean" (which requires re-compilation of all
> packages and takes a lot of time)?
>
> does a "rm -rf output/target && make" works?
No, it doesn't work, and as of today, there isn't really a simple and
reliable way of doing that.
How long is your entire build? What is your configuration (post
your .config if possible)? Do you have an external toolchain? Have you
used ccache? Are you perhaps building inside a virtual machine and/or
on a slow laptop?
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] force buildroot to regenerate the output/target directory tree
2013-02-25 13:46 [Buildroot] force buildroot to regenerate the output/target directory tree Francesco Montorsi
2013-02-25 14:16 ` Thomas Petazzoni
@ 2013-02-25 15:15 ` Jérôme Pouiller
2013-02-25 20:02 ` Francesco Montorsi
1 sibling, 1 reply; 5+ messages in thread
From: Jérôme Pouiller @ 2013-02-25 15:15 UTC (permalink / raw)
To: buildroot
Hello Francesco,
On Monday 25 February 2013 13:46:00 Francesco Montorsi wrote:
> Hi,
> I've been using buildroot since some time and there is a thing I didn't
> figure out yet. Consider this situation: I have a working buildroot
> environment; I have copied into the output/target folder some stuff so that
> when I run "make" buildroot generates for me images into output/images
> which already contain the contents I manually copied.
> Now I would like to "reset" the output/target folder, i.e. obtain the
> buildroot "vanilla" output/target tree and to obtian the buildroot vanilla
> output/images.... how can I do that without doing a "make clean" (which
> requires re-compilation of all packages and takes a lot of time)?
>
> does a "rm -rf output/target && make" works?
As Thomas said, it does not work. But, some unofficial hacks exist:
* remove build/.root will force to reinstall skeleton
* remove build/*/.stamp_target_installed force reinstall each target package
* depending of you toolchain, you can reinstall libc and co by removing
# stamps/ext-toolchain-installed (external)
# stamps/ct-ng-toolchain-installed (ctng)
# target/lib/libc.so.0 (buildroot)
Remind, there are ton of reasons these tips could do wrong things. The only
current official way to rebuild target is "make clean".
--
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] force buildroot to regenerate the output/target directory tree
2013-02-25 14:16 ` Thomas Petazzoni
@ 2013-02-25 19:59 ` Francesco Montorsi
0 siblings, 0 replies; 5+ messages in thread
From: Francesco Montorsi @ 2013-02-25 19:59 UTC (permalink / raw)
To: buildroot
Thomas Petazzoni <thomas.petazzoni@...> writes:
> > does a "rm -rf output/target && make" works?
>
> No, it doesn't work, and as of today, there isn't really a simple and
> reliable way of doing that.
ok... I think it would be nice to add one, though!
> How long is your entire build? What is your configuration (post
> your .config if possible)? Do you have an external toolchain? Have you
> used ccache? Are you perhaps building inside a virtual machine and/or
> on a slow laptop?
my build is about 1h on an core i5... yes: I'm using ccache.
Anyway, it's not really a matter of compilation flags / development machine. The
point is that in a development stage I often find myself doing several small
changes in the configuration files and other stuff (in a SVN environment); then
I copy them in the output/target tree... my point is that I would like to be
sure that there are no leftovers from previous cp commands I issued.
Perhaps I can do:
make # in buildroot folder
cp -rf output/target output/targetVANILLA
cp -rf /mystuff output/target
make # to generate images containing my customized stuff in output/images
and then
rm -rf output/target
cp -rf output/targetVANILLA output/target
to start over in the future.
Perhaps skeletons are the most clean way to do that... I will look into it as
soon as I find the time!
THanks,
Francesco
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Buildroot] force buildroot to regenerate the output/target directory tree
2013-02-25 15:15 ` Jérôme Pouiller
@ 2013-02-25 20:02 ` Francesco Montorsi
0 siblings, 0 replies; 5+ messages in thread
From: Francesco Montorsi @ 2013-02-25 20:02 UTC (permalink / raw)
To: buildroot
J?r?me Pouiller <jezz@...> writes:
> > does a "rm -rf output/target && make" works?
> As Thomas said, it does not work. But, some unofficial hacks exist:
>
> * remove build/.root will force to reinstall skeleton
>
> * remove build/*/.stamp_target_installed force reinstall each target package
>
> * depending of you toolchain, you can reinstall libc and co by removing
> # stamps/ext-toolchain-installed (external)
> # stamps/ct-ng-toolchain-installed (ctng)
> # target/lib/libc.so.0 (buildroot)
>
> Remind, there are ton of reasons these tips could do wrong things. The only
> current official way to rebuild target is "make clean".
>
Thanks!
I will test this approach next time, after doing a backup copy :)
Anyway I think it would be nice to have an additional target in the buildroot
Makefile which does the operations above (with possible additional quirks) :)
Francesco
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-02-25 20:02 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-25 13:46 [Buildroot] force buildroot to regenerate the output/target directory tree Francesco Montorsi
2013-02-25 14:16 ` Thomas Petazzoni
2013-02-25 19:59 ` Francesco Montorsi
2013-02-25 15:15 ` Jérôme Pouiller
2013-02-25 20:02 ` Francesco Montorsi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox