Abuild: Difference between revisions

From coreboot
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 3: Line 3:
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 '''coreboot-builds/''' subdirectory of the current directory.


To build the thomson ip1000 target, run
For example, to build the Thomson IP1000 target, run:


  cd util/abuild; abuild -t thomson/ip1000
  $ '''cd 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.
As an alternative, you can build in the top level directory:


  util/abuild/abuild -t thomson/ip1000 $PWD
  $ '''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''':


  mkdir payloads
  $ '''mkdir payloads'''
  cp /somewhere/filo.elf 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
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"
  $ '''echo "`dirname $0`/build/filo.elf"'''


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 $PWD'''


Specify '''-c max''' or '''-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:42, 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 coreboot-builds/ subdirectory of the current directory.

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

$ cd util/abuild; ./abuild -t thomson/ip1000

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:

$ 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 $PWD

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