[Buildroot] how to repopulate /output/target/lib?
From: Thomas Petazzoni <hidden>
Date: 2012-06-25 13:10:15
Hello Aras, Please keep the list Cc'ed for replies. Le Mon, 25 Jun 2012 13:55:03 +0100, Aras Vaichas [off-list ref] a ?crit :
quoted
?* 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.).Thank you for this hint. I found the Makefile responsible and I am now able to repopulate the entire output/target directory. I had to remove output/stamps/ct-ng-toolchain-installed in order to trigger the library copying code. I wasn't sure if removing this file would retrigger the entire toolchain build so I was wary of removing it. To summarise, this is what I do to recreate output/target (reinstall all packages) from scratch: # find -name .stamp_target_installed | xargs rm # rm -rf output/target # rm output/build/.root # rm output/stamps/ct-ng-toolchain-installed # make As you mentioned before, Buildroot doesn't support partial rebuilds so I don't guarantee what I did will work in 100% of cases, but it certainly does make life a little easier. :)
Sure. The thing is that such a workflow might generate an inconsistent target root filesystem: you reinstall into the target only the libraries that are enabled now, but if some libraries previously selected are installed in the staging/ directory, but have been removed from menuconfig in the mean time, they are no longer installed in the target, giving you an inconsistent target root filesystem.
quoted
?* Ensure you have a fast enough build machine (i.e, not a slow Windows ? laptop that runs Linux inside a VMWare)Unfortunately that is what I have been given for my development, so building the toolchain is a day lost.
You should request a more powerful machine.
I have seen some previous posts about building two copies of Buildroot - one for the toolchain, the other for development. I think I will re-read them and implement an external toolchain.
If you use the ct-ng backend, then just use Crosstool-NG outside of Buildroot to generate your toolchain, and import it into Buildroot using the external toolchain backend. Regards, Thomas -- Thomas Petazzoni, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com