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 /bitbake/doc | |
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>
Diffstat (limited to 'bitbake/doc')
-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 | |||