[Buildroot] New User Basic Questions
maboutte at pacbell.net
Sat Sep 9 16:43:00 UTC 2006
Hi - I am very new to buildroot, and first I want to say that it seems
to be exactly what I need and also incredibly sophisticated. Thank you
to all who make this at least possible.
The sophistication is where my problems arise, plus very little
documentation that I can find. So I have a few questions that I think
could help others too. Let me try to briefly explain why I want to use
buildroot first, but I won't bore you with too many details.
I designed and built a board based on the powerpc MPC8xx series of
Freescale processors. It has a few unique ports designed for my use.
I discovered and successfully adapted first U-Boot and then the ELDK
from Denx to customize a bootloader and Linux 2.6.15 to run on this
board. It originally used the ELDK "SELF" which is a small glibc based
root filesystem. The filesystem quickly became too big to run, even in
the 16M flash and 32M RAM on my board.
A friend created a new rootfilesystem based on uClibc 0.9.27 and BusyBox
on an older MAC that uses the powerpc, so that he was working natively.
He first attempted to build a cross compiler for the filesystem on a PC
but was unsuccessful. This root filesystem works fine as far as it goes,
but now I want to compile new programs and update the old ones and I no
longer have access to this MAC. So I started working with your buildroot
system on an X86 PC running Linux Fedora Core a few days ago.
So far I seem to be flailing around and barely getting anywhere. A few
false starts have shown me that I absolutely have to simply "make"
without changing anything in the default config except targetting to my
powerpc target processor. After the first build I can sometimes
successfully build a larger system in a few instances. So here are my
1. How do I go about making one version as a cross compiler for the
existing root filesystem which is 0.9.27? I see no way to do that
because the svn access always seems to go for the latest (0.9.28 or
0.9.29) unless I call out a specific build, which is still not tied to a
version though. I also find the older compressed uClibc versions but do
not know how to use those with the buildroot that I have already managed
2. How do I determine what Toolchain Options to use for Kernel Headers,
Binutils version and GCC compiler version? Is there some correlation to
the versions of these items used to cross compile the kernel? Is there
some way to know what combination of versions works for any particular
3. How do I start building a fresh rootfilesystem without starting over
in a new directory? The "make clean" and "make distclean" seem to leave
an awful lot behind? On the same vein how do I properly remove something
from the root filesystem? For example I tried including Python and the
resulting root was huge, but removing it from the configuration does not
remove it from the root - and understanably, as I would expect to be
able to put my own applications into the filesystem and not have them
wiped out by rebuilding. So far I have simply created two directories to
play in - one named uclibc and the other uclibc-0.9.27, the latter where
I have been attempting to get a 0.9.27 version going. Each has its own
separate buildroot under it to work in.
4. The configuration "endian-ness" seems to track the target processor,
except that the JFFS2 file system option has an endian configuration
selection. If my powerpc is big-endian should I also make this big-endian?
5. Is there somewhere else that might have more information in the way
of faqs, documentation or case studies? I would be happy to write up
anything that I discover for use by others. How about a Wiki based
documentation system that users could add to?
Thank you in advance for your help.
More information about the buildroot