Abuild: Difference between revisions

From coreboot
Jump to navigation Jump to search
(Created page with 'abuild is a great tool to check whether your tree compiles for one or all targets. If you invoke abuild with no parameters, it will build all boards automatically. The resulting...')
 
mNo edit summary
Line 1: Line 1:
abuild is a great tool to check whether your tree compiles for one or all targets.
'''abuild''' is a great tool to check whether your coreboot (v2) 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 '''coreboot-builds/''' subdirectory of the current directory.


To build the thomson ip1000 target, run
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)
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
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 compilation up.
Specify '''-c max''' or '''-c 2''' if you have an SMP system, to speed up compilation.

Revision as of 15:59, 23 April 2009

abuild is a great tool to check whether your coreboot (v2) 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.

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

Specify -c max or -c 2 if you have an SMP system, to speed up compilation.