
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