diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2018-08-30 11:29:12 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-10-04 14:33:31 +0100 |
| commit | e06421bfc401c3aeac01db08e32c7833085352ec (patch) | |
| tree | c95cf3fef2aea69f78cbd25a4a9d8f536341c54e | |
| parent | c08ea14816acb3056815bd3f5b0670c998b0435f (diff) | |
| download | poky-e06421bfc401c3aeac01db08e32c7833085352ec.tar.gz | |
bitbake: bitbake-user-manual: Added new section on multiconfig builds
Created a new example. Also added a figure for the separate
configuration file hierarchy
(Bitbake rev: f2d432674b187685591f60cec3b2980b377c63fe)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml | 69 | ||||
| -rw-r--r-- | bitbake/doc/bitbake-user-manual/figures/bb_multiconfig_files.png | bin | 0 -> 19991 bytes |
2 files changed, 69 insertions, 0 deletions
diff --git a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml index 4cf0ed9d1c..1dbf141c9e 100644 --- a/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml +++ b/bitbake/doc/bitbake-user-manual/bitbake-user-manual-intro.xml | |||
| @@ -723,6 +723,75 @@ | |||
| 723 | </literallayout> | 723 | </literallayout> |
| 724 | </para> | 724 | </para> |
| 725 | </section> | 725 | </section> |
| 726 | |||
| 727 | <section id='executing-a-multiple-configuration-build'> | ||
| 728 | <title>Executing a Multiple Configuration Build</title> | ||
| 729 | |||
| 730 | <para> | ||
| 731 | BitBake is able to build multiple images or packages | ||
| 732 | using a single command where the different targets | ||
| 733 | require different configurations (multiple configuration | ||
| 734 | builds). | ||
| 735 | Each target, in this scenario, is referred to as a | ||
| 736 | "multiconfig". | ||
| 737 | </para> | ||
| 738 | |||
| 739 | <para> | ||
| 740 | To accomplish a multiple configuration build, you must | ||
| 741 | define each target's configuration separately using | ||
| 742 | a parallel configuration file in the build directory. | ||
| 743 | The location for these multiconfig configuration files | ||
| 744 | is specific. | ||
| 745 | They must reside in the current build directory in | ||
| 746 | a sub-directory of <filename>conf</filename> named | ||
| 747 | <filename>multiconfig</filename>. | ||
| 748 | Following is an example for two separate targets: | ||
| 749 | <imagedata fileref="figures/bb_multiconfig_files.png" align="center" width="4in" depth="3in" /> | ||
| 750 | </para> | ||
| 751 | |||
| 752 | <para> | ||
| 753 | The reason for this required file hierarchy | ||
| 754 | is because the <filename>BBPATH</filename> variable | ||
| 755 | is not constructed until the layers are parsed. | ||
| 756 | Consequently, using the configuration file as a | ||
| 757 | pre-configuration file is not possible unless it is | ||
| 758 | located in the current working directory. | ||
| 759 | </para> | ||
| 760 | |||
| 761 | <para> | ||
| 762 | Minimally, each configuration file must define the | ||
| 763 | machine and the temporary directory BitBake uses | ||
| 764 | for the build. | ||
| 765 | Suggested practice dictates that you do not | ||
| 766 | overlap the temporary directories used during the | ||
| 767 | builds. | ||
| 768 | </para> | ||
| 769 | |||
| 770 | <para> | ||
| 771 | Aside from separate configuration files for each | ||
| 772 | target, you have to enable BitBake to perform multiple | ||
| 773 | configuration builds by enabling it in the local | ||
| 774 | configuration file. | ||
| 775 | Enabling is accomplished through a variable specific | ||
| 776 | to the build environment. | ||
| 777 | </para> | ||
| 778 | |||
| 779 | <para> | ||
| 780 | Once the target configuration files are in place and | ||
| 781 | BitBake has been enabled to perform multiple configuration | ||
| 782 | builds, use the following command form to start the | ||
| 783 | builds: | ||
| 784 | <literallayout class='monospaced'> | ||
| 785 | $ bitbake [multiconfig:<replaceable>multiconfigname</replaceable>:]<replaceable>target</replaceable> [[[multiconfig:<replaceable>multiconfigname</replaceable>:]<replaceable>target</replaceable>] ... ] | ||
| 786 | </literallayout> | ||
| 787 | Here is an example for two multiconfigs: | ||
| 788 | <filename>Target_1</filename> and | ||
| 789 | <filename>Target_2</filename>: | ||
| 790 | <literallayout class='monospaced'> | ||
| 791 | $ bitbake multiconfig:Target_1:<replaceable>target</replaceable> multiconfig:Target_2:<replaceable>target</replaceable> | ||
| 792 | </literallayout> | ||
| 793 | </para> | ||
| 794 | </section> | ||
| 726 | </section> | 795 | </section> |
| 727 | </section> | 796 | </section> |
| 728 | </chapter> | 797 | </chapter> |
diff --git a/bitbake/doc/bitbake-user-manual/figures/bb_multiconfig_files.png b/bitbake/doc/bitbake-user-manual/figures/bb_multiconfig_files.png new file mode 100644 index 0000000000..041f06403b --- /dev/null +++ b/bitbake/doc/bitbake-user-manual/figures/bb_multiconfig_files.png | |||
| Binary files differ | |||
