summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorScott Rifenbark <scott.m.rifenbark@intel.com>2014-06-02 15:22:28 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-06-18 10:30:43 +0100
commit84ee8c653a45ffbda1fd3773f5fbb67d20d1bfc3 (patch)
tree1d1a761a861ee95f583666ff8382fd7dda7dcdd1 /documentation/dev-manual
parentfae1d7d56779ecf662ff04541abe431ca669940e (diff)
downloadpoky-84ee8c653a45ffbda1fd3773f5fbb67d20d1bfc3.tar.gz
ref-manual, dev-manual: Updates for custom template configuration directory.
Fixes [YOCTO #5895] I created a new section in the dev-manual titles "Creating a Custom Template Configuration Directory" that describes how the build system uses the template local.conf and bblayers.conf and conf-notes.txt files as a basis when creating the real deals in the build directory's conf folder. The context of this is so that the user can create their own directory with their own template files for repeated configurations and to create a custom conf-notes.txt file should they want the setup scripts to display some custom list of targets. I also modified the two script references in the ref-manual for oe-init-build-env and oe-init-build-env-memres. I needed to link to the "how-to" section and added a bit in there about how the scripts go about forming the conf files in the build directory. (From yocto-docs rev: c07fb7082fe08387bbc546b2a23620dedc7127b8) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml113
1 files changed, 113 insertions, 0 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 3af40c2392..4a58a6f490 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -888,6 +888,119 @@
888 </section> 888 </section>
889 </section> 889 </section>
890 890
891 <section id='creating-a-custom-template-configuration-directory'>
892 <title>Creating a Custom Template Configuration Directory</title>
893
894 <para>
895 You might find yourself repeating the same configurations for
896 a particular build or group of builds.
897 If so, rather than repeatedly editing your
898 <filename>local.conf</filename> and possibly your
899 <filename>bblayers.conf</filename>, you can set up a
900 custom directory that has your configurations, and then
901 point the OpenEmbedded build system to that directory to find
902 the configurations.
903 </para>
904
905 <para>
906 The OpenEmbedded build system uses the environment variable
907 <filename>TEMPLATECONF</filename> to point to the directory
908 from which it gathers configuration information that ultimately
909 ends up in the
910 <link linkend='build-directory'>Build Directory's</link>
911 <filename>conf</filename> directory.
912 By default, <filename>TEMPLATECONF</filename> points here:
913 <literallayout class='monospaced'>
914 TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf}
915 </literallayout>
916 This is the directory that the build system finds templates
917 with which to build some key configuration files.
918 If you look at this directory, you will see the
919 <filename>bblayers.conf.sample</filename>,
920 <filename>local.conf.sample</filename>, and
921 <filename>site.conf.sample</filename> configuration files.
922 The build system uses these files to form the respective
923 <filename>bblayers.conf</filename>,
924 <filename>local.conf</filename>, and the
925 <filename>site.conf</filename> configuration files it places in
926 the <filename>conf</filename> directory with the
927 Build Directory.
928 </para>
929
930 <para>
931 To override these default configuration files with
932 configurations you want used with every build, simply point the
933 <filename>TEMPLATECONF</filename> to your directory.
934 The <filename>TEMPLATECONF</filename> variable is set in the
935 <filename>.templateconf</filename> file, which is in the
936 top-level
937 <link linkend='source-directory'>Source Directory</link>
938 folder (e.g. <filename>poky</filename>).
939 Edit the <filename>.templateconf</filename> so that it points
940 to your directory.
941 Best practices dictate that you should keep your
942 template configuration directory in your custom distribution layer.
943 For example, suppose you have a layer named
944 <filename>meta-mylayer</filename> located in your home directory
945 and you want your template configuration directory named
946 <filename>myconf</filename>.
947 Changing the <filename>.templateconf</filename> as follows
948 causes the OpenEmbedded build system to look in your directory
949 and base its configuration files on the
950 <filename>*.sample</filename> configuration files it finds.
951 The final configuration files (i.e.
952 <filename>local.conf</filename> and
953 <filename>bblayers.conf</filename> ultimately still end up in
954 your Build Directory, but they are based on your
955 <filename>*.sample</filename> files.
956 <literallayout class='monospaced'>
957 TEMPLATECONF=${TEMPLATECONF:-meta-mylayer/myconf}
958 </literallayout>
959 </para>
960
961 <para>
962 Aside from the <filename>*.sample</filename> configuration files,
963 the <filename>conf-notes.txt</filename> also resides in the
964 default <filename>meta-yocto/conf</filename> directory.
965 The scripts that set up the build environment
966 (i.e.
967 <ulink url="&YOCTO_DOCS_REF_URL;#structure-core-script"><filename>&OE_INIT_FILE;</filename></ulink>
968 and
969 <ulink url="&YOCTO_DOCS_REF_URL;#structure-memres-core-script"><filename>oe-init-build-env-memres</filename></ulink>)
970 use this file to display BitBake targets as part of the script
971 output.
972 Customizing this <filename>conf-notes.txt</filename> file is a
973 good way to make sure your list of custom targets appears
974 as part of the script's output.
975 </para>
976
977 <para>
978 Here is output from either of the setup scripts by default:
979 <literallayout class='monospaced'>
980 $ source oe-init-build-env-memres
981 No port specified, using dynamically selected port
982
983 ### Shell environment set up for builds. ###
984
985 You can now run 'bitbake &lt;target&gt;'
986
987 Common targets are:
988 core-image-minimal
989 core-image-sato
990 meta-toolchain
991 adt-installer
992 meta-ide-support
993 </literallayout>
994 </para>
995
996 <para>
997 Changing the listed common targets is as easy as editing your
998 version of <filename>conf-notes.txt</filename> in your
999 custom template configuration directory and making sure you
1000 have <filename>TEMPLATECONF</filename> pointing to it.
1001 </para>
1002 </section>
1003
891 <section id='usingpoky-extend-customimage'> 1004 <section id='usingpoky-extend-customimage'>
892 <title>Customizing Images</title> 1005 <title>Customizing Images</title>
893 1006