This is a command line interface to enhance buildroot
for complex
recipes.
It combines the BR_EXTERNAL
approach, which is an upper layer
of buildroot
and a wrapper to operate `buildroot.
With the br-external
feature, we can enhance buildroot with custom packages
that are not officially supported.
With the provided cooker
wrapper, we operate a buildroot according to a
recipe
descriptor to build an image on several architectures.
By default, buildroot approach is one Buildroot per Architecture.
With this wrapper we can build one buildroot for multiple architectures.
Set up environment
╰─$ source sourceme.sh
cooker
is the command line tool
List all recipes
╰─$ cooker --list
List known architectures
╰─$ cooker --list-boards
Cook a recipe:
╰─$ cooker --recipe my-recipe
Cook several recipes at once:
╰─$ cooker --recipe recipe1 --recipe recipe2
All requirements are downloaded and managed in
arbitrary ~/br2-downloads folder.
Use the dl-dir
option if you want to use a different location :
╰─$ cooker --dl-dir /tmp --recipe recipe1
Maintaining dl-dir folder accross cooking sessions, allows faster cooking processes.
All temporary and build results are created where cooker
is
summoned but you can change that behavior with the work-dir
option:
╰─$ cooker --work-dir /tmp --dl-dir /tmp --recipe recipe1
Print buildroot revision to be used :
╰─$ cooker --br2-revision
- Test a newer buildroot revision with
╰─$ cooker --br2-tag 2020.01.1 --recipe my-recipe
- use specific buildroot tree
╰─$ cooker --br2-url https://custom-buildroot.git --recie my-recipe