[U-Boot] Suggestion for building all boards

Masahiro Yamada yamada.m at jp.panasonic.com
Fri Oct 11 13:29:51 CEST 2013


Hello experts, custodians.


U-Boot Wiki page (http://www.denx.de/wiki/U-Boot/Patches)
says like follows:

> Before sending the patch, you must run the MAKEALL script on your patched source tree
> and make sure that no errors or warnings are reported for any of the boards.
> Well, at least not any more warnings than without your patch.


For sending a patch that changes across all architectures,
we need to build all target boards.
(I am really eager to do this, for example, Kbuild-related patches,
a new warning option, etc.)


In stead of ./MAKEALL, we can also use  tools/buildman/buildman
for the same purpose.

But getting suitable toolchains is beyond the scope of them.

I want to focus on this issue.



My question is:
Where can I get suitable toolchains for all architectures
supported by U-Boot?


Gerhard Sittig told me this site:
ftp://ftp.kernel.org/pub/tools/crosstool/

But I could not get the crosstool for some architectures
(nds32, nios2) in this site.

I tried to compile as much boards as possible with crosstools
I could download from the site.

arm, avr32, sandbox, x86 are perfect!
I successfully compiled all board without any warnings.

For the other architectures, I can't compile at least some boards.

This means the toolchain I chose was not appropriate
or a bug in the source code.


So, I'd like to suggest:
We collect pre-built toolchains for all architectures on U-Boot ftp site.
They become RECOMMENDED toolchans, which means it is garanteed
all boards should be successfully compiled with such toolchains.

At least custodians must have a suitable toolchain
because they routinely build boards of their assigned architecture.
If it is impossible to upload it to U-Boot ftp site,
the link should be prepared to another download site.

If there are some variations (for ex. soft/hard float)
for supported cross tools, all of them should be collected.


My basic idea is:
Building all boards should be easy enough for everyone.
Of course basic skills of U-boot is required,
but arch-specific skills should not be required
just for compile.

If everyone can do this compiling check,
it should be done automatically.
The crontab daemon can do it and
send the result to this mailing list.
(everyday? once a week? every time u-boot/master is updated?)

We will soon notice a broken board
before someone raise the flag.
When a board is found to be broken,
notification e-mail should also be sent to
the architecture custodian and
board maintainer (if the board is not orphan).

The board maintainer (written in boards.cfg)
is responsible to fix the broken board.
The custodian should guide this.

Now we have the Active/Orphan status in the first
column of boards.cfg.

I'd like to suggest new status:

Active: can be compiled without any warnings
Warn:   still can be compiled, but with warnings
Broken: cannot be compiled

Suggestion for better terms is welcome :-)

(BTW, I'd like to abolish Orphan status.
We can refer the last column for the board maintainer.
If it is blank, it means unknown maintainer.)

If we notice a newly broken board, we should
change the status in boards.cfg
from Active to Warn or Broken.

If nobody fix the board for a long time (3 month or so?),
it should go to the scrap yard.


To sum up my suggestion,

 - Collect pre-built suitable crosstools for all architectures
   on U-boot ftp site.

 - Check all boards automatically using those recommended
   crosstools and post the result to the mailing list.

 - Add new status to boards.cfg to mark boards with a problem.


Best Regards
Masahiro



More information about the U-Boot mailing list