[Buildroot] [RFC] [PATCH 0/5] Buildroot cleanup

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Sep 9 06:32:07 UTC 2009


Thanks for your comments!

Le Wed, 09 Sep 2009 07:54:25 +1200,
"angus salkeld" <angus.salkeld at alliedtelesis.co.nz> a écrit :

> >  2. Remove the BOARD/LOCAL feature.
> > 
> >     This mechanism is a duplication of something that could already
> > be done in a different way: by adding a new target in
> > target/device/.
> > 
> Quite a few of our engineers like this feature.
> When you are testing that a change doesn't break other targets it is
> nice to have a shell per "board" and just be able to run "make" in
> each to re-build.

Let's say your vendor name is Foo and you have two boards Bar1 and
Bar2. Then you would create the following directories:


In these directories you would have :

 * foo_bar1_defconfig and foo_bar2_defconfig, which are the default
   Buildroot configuration for the two boards

 * The Linux kernel configuration file

 * Optionnaly, a Busybox configuration file

 * Optionnaly, a target skeleton and a device table

Then, to build a board, you would just do :

 make foo_bar1_defconfig

or for the other board:

 make foo_bar2_defconfig

This is a mechanism that currently exists, you can try it by yourself
to verify it matches your requirements. I think the BOARD/LOCAL feature
is just a duplication of this.

Of course, there's an obvious lack of documentation on this mechanism.
But this is something I'm working on currently.

> >      - build/    where all the packages are built
> >      - images/   where the final kernel and rootfs images are stored
> >      - staging/  the staging directory (containing the development
> > files and libraries compiled for the target)
> >      - target/   which contains the target root filesystem
> >      - host/     which contains all the host programs
> >      - stamps/   which contains the stamps files
> > 
> We have a a number of boards to build and this is going put the burden
> on the end user to handle moving the output directory around.
> Not very user friendly for people who use buildroot in anything but
> the simplest case.
> Please still support the ability to build multiple targets within the
> same buildroot (in configuration). One option would be to make
> "O=<dir>" a configuration option (defaulting to the output directory).

That could be an option, if that makes it easier to use for your users.


Thomas Petazzoni, Free Electrons
Kernel, drivers and embedded Linux development,
consulting, training and support.

More information about the buildroot mailing list