Abuild: Difference between revisions
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. | ||
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''' | ||
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.