[Buildroot] Project configuration management
Gustavo Zacarias
gustavo at zacarias.com.ar
Wed Apr 6 16:01:45 UTC 2016
On 06/04/16 11:52, Thomas Petazzoni wrote:
> That's not exactly the sort of script I was thinking of. I was thinking
> of a more high-level, project specific script, like maybe:
>
> genconfig -h <hwplatform> -s <softwarestack> -r <releasetype>
>
> or anything like that, which would internally have the knowledge of
> which fragments to use for which aspect (HW platform, software stack,
> etc.). Of course, internally, this script can use merge_config.sh, but
> having a more high-level script might help users to more easily
> generate their Buildroot configuration.
>
> Thomas
Hi.
Adding a bit on this since you CCed me, this customer has multiple
platforms (boards/architectures), with multiple capabilities (different
video in/out frontends) and localized features.
What i've used is pretty much what Thomas says, a script that takes
several parameters as input:
genconfig -p platform -b build_type -c capabilities -l localization ...
Where platform would be different hardware targets, build_type is what
kind of rootfs/image/firmware it's building (debug, release, etc), which
capabilities (isdb-t, dvb-s2, etc), and which localization (target
country, for language, menus, logos, etc).
The script then combines different defconfig fragments according to
these parameters and validates the different combinations (for instance
some platform X can't have isdb-t or so on), generating a suitable
defconfig and setting up an out-of-tree build ready to go.
Of course the "chunkization" of the defconfig fragments requires some
knowledge, but it essentially boils down to:
* Hardware platform
+ Toolchain setup (varies for debug & release)
+ Target filesystem setup (might be different for debug & release)
+ Kernel setup (ditto above)
* Apps
+ Open-source apps for the target (might vary for debug & release)
+ Propietary apps (varies according to capabilities and localization)
* Localization
+ Language packs, certificates, default settings, marketing stuff, etc
Regards.
More information about the buildroot
mailing list