Difference between revisions of "Abuild"

From coreboot
Jump to: navigation, search
m
(Only invokation from top-level dir is supported in recent abuild versions.)
Line 1: Line 1:
 
'''abuild''' is a great tool to check whether your coreboot tree compiles for one or all targets.
 
'''abuild''' is a great tool to check whether your coreboot tree compiles for one or all targets.
  
If you invoke abuild with no parameters, it will build all boards automatically. The resulting images and logs will end up in the '''coreboot-builds/''' subdirectory of the current directory.
+
If you invoke abuild with no parameters, it will build all boards automatically. The resulting images and logs will end up in the '''util/abuild/coreboot-builds/''' directory.
  
 
For example, to build the Thomson IP1000 target, run:
 
For example, to build the Thomson IP1000 target, run:
  
  $ '''cd util/abuild; ./abuild -t thomson/ip1000'''
+
  $ '''util/abuild/abuild -t thomson/ip1000'''
  
 
The build log will be in '''util/abuild/coreboot-builds/thomson_ip1000/make.log'''.
 
The build log will be in '''util/abuild/coreboot-builds/thomson_ip1000/make.log'''.
 
As an alternative, you can build in the top level directory:
 
 
$ '''util/abuild/abuild -t thomson/ip1000 $PWD'''
 
  
 
You can also specify a payload directory with '''-p''':
 
You can also specify a payload directory with '''-p''':
Line 24: Line 20:
 
Then you can build a fully working image with payload by specifying:
 
Then you can build a fully working image with payload by specifying:
  
  $ '''util/abuild/abuild -t thomson/ip1000 -p ./payloads $PWD'''
+
  $ '''util/abuild/abuild -t thomson/ip1000 -p ./payloads'''
  
 
You can specify '''-c max''' (e.g. '''-c 2''') if you have an SMP system, to speed up compilation.
 
You can specify '''-c max''' (e.g. '''-c 2''') if you have an SMP system, to speed up compilation.

Revision as of 17:48, 24 September 2010

abuild is a great tool to check whether your coreboot tree compiles for one or all targets.

If you invoke abuild with no parameters, it will build all boards automatically. The resulting images and logs will end up in the util/abuild/coreboot-builds/ directory.

For example, to build the Thomson IP1000 target, run:

$ util/abuild/abuild -t thomson/ip1000

The build log will be in util/abuild/coreboot-builds/thomson_ip1000/make.log.

You can also specify a payload directory with -p:

$ mkdir payloads
$ cp /somewhere/filo.elf payloads

Then add a file payloads/payload.sh which prints the name of the payload to use (and takes the mainboard as a parameter) such as:

$ echo "`dirname $0`/build/filo.elf"

Then you can build a fully working image with payload by specifying:

$ util/abuild/abuild -t thomson/ip1000 -p ./payloads

You can specify -c max (e.g. -c 2) if you have an SMP system, to speed up compilation.