[U-Boot] Removing the need for boards.cfg

York Sun yorksun at freescale.com
Thu Aug 7 22:52:30 CEST 2014


On 08/04/2014 06:22 PM, Masahiro Yamada wrote:
> Hi York,
> 
> 
> 
> On Mon, 4 Aug 2014 11:58:56 -0700
> York Sun <yorksun at freescale.com> wrote:
> 
>> On 08/01/2014 06:53 AM, Masahiro Yamada wrote:
>>>
>>> If MAKEALL/buildman is invoked without any arguments
>>> (which means build all the board),
>>> boards.cfg is not necessary in the first place.
>>>
>>> It that case, can we skip generating boards.cfg ?
>>> (We can get the board list by 'ls configs' )
>>>
>>>
>>> We need a database only when we want to select boards by CPU, Vendor, SoC.
>>>
>>
>> Dear Masahiro,
>>
>> What is the best way to replace "./MAKEALL -a powerpc" or "./MAKEALL -a arm"?
>> You must have verified compiling for all targets. I am wondering if you can
>> share your setup. I still heavily rely on MAKEALL to build all targets I care.
>>
>> York
> 
> 
> I think "./MAKEALL -a powerpc" or "./MAKEALL -a arm"
> is still working as it was.

Dear Masahiro,

Generating boards.cfg gives me another trouble. I use Jenkins
(http://jenkins-ci.org/) for internal development. Even I can manually run
MAKEALL to generate boards.cfg, the same script under Jenkins cannot. I have
this error


./MAKEALL -c mpc83xx -c mpc85xx -c mpc86xx
Could not find boards.cfg
Generating boards.cfg ...  (jobs: 8)
Traceback (most recent call last):
  File "tools/genboardscfg.py", line 504, in <module>
    main()
  File "tools/genboardscfg.py", line 501, in main
    gen_boards_cfg(jobs)
  File "tools/genboardscfg.py", line 471, in gen_boards_cfg
    __gen_boards_cfg(jobs)
  File "tools/genboardscfg.py", line 437, in __gen_boards_cfg
    indicator = Indicator(len(defconfigs))
  File "tools/genboardscfg.py", line 384, in __init__
    width = get_terminal_columns()
  File "tools/genboardscfg.py", line 59, in get_terminal_columns
    ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
IOError: [Errno 22] Invalid argument
Failed to generate boards.cfg

Looks like the script is trying to get the terminal window size. There is no
terminal for my case. Checking variable TERM, it is "dumb". I can make it work
by removing the two lines but I don't think that's the solution.

--- a/tools/genboardscfg.py
+++ b/tools/genboardscfg.py
@@ -58,8 +58,6 @@ def get_terminal_columns():
         try:
             ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
         except IOError as exception:
-            if exception.errno != errno.ENOTTY:
-                raise

I am not an expert on python. Can you take a deep look? The host has ubuntu
12.04.3 with python 2.7.3.

York


More information about the U-Boot mailing list