diff options
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 224 |
1 files changed, 111 insertions, 113 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 8b2613aa12..2968b4d3c0 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -888,119 +888,6 @@ | |||
| 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 <target>' | ||
| 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 | |||
| 1004 | <section id='usingpoky-extend-customimage'> | 891 | <section id='usingpoky-extend-customimage'> |
| 1005 | <title>Customizing Images</title> | 892 | <title>Customizing Images</title> |
| 1006 | 893 | ||
| @@ -4349,6 +4236,117 @@ Gateways via their Web Interfaces</ulink>"</emphasis> | |||
| 4349 | </para> | 4236 | </para> |
| 4350 | </section> | 4237 | </section> |
| 4351 | 4238 | ||
| 4239 | <section id='creating-a-custom-template-configuration-directory'> | ||
| 4240 | <title>Creating a Custom Template Configuration Directory</title> | ||
| 4241 | |||
| 4242 | <para> | ||
| 4243 | If you're producing your own customized version | ||
| 4244 | of the build system for use by other users, you might | ||
| 4245 | want to customize the message shown by the setup script or | ||
| 4246 | you might want to change the template configuration files (i.e. | ||
| 4247 | (<filename>local.conf</filename> and | ||
| 4248 | <filename>bblayers.conf</filename>) that are created in | ||
| 4249 | a new build directory. | ||
| 4250 | </para> | ||
| 4251 | |||
| 4252 | <para> | ||
| 4253 | The OpenEmbedded build system uses the environment variable | ||
| 4254 | <filename>TEMPLATECONF</filename> locate the directory | ||
| 4255 | from which it gathers configuration information that ultimately | ||
| 4256 | ends up in the | ||
| 4257 | <link linkend='build-directory'>Build Directory's</link> | ||
| 4258 | <filename>conf</filename> directory. | ||
| 4259 | By default, <filename>TEMPLATECONF</filename> is set as | ||
| 4260 | follows in the <filename>poky</filename> repository: | ||
| 4261 | <literallayout class='monospaced'> | ||
| 4262 | TEMPLATECONF=${TEMPLATECONF:-meta-yocto/conf} | ||
| 4263 | </literallayout> | ||
| 4264 | This is the directory that the build system finds templates | ||
| 4265 | with which to build some key configuration files. | ||
| 4266 | If you look at this directory, you will see the | ||
| 4267 | <filename>bblayers.conf.sample</filename>, | ||
| 4268 | <filename>local.conf.sample</filename>, and | ||
| 4269 | <filename>conf-notes.txt</filename> files. | ||
| 4270 | The build system uses these files to form the respective | ||
| 4271 | <filename>bblayers.conf</filename> file, | ||
| 4272 | <filename>local.conf</filename> file, and display the list of | ||
| 4273 | BitBake targets when running the setup script. | ||
| 4274 | </para> | ||
| 4275 | |||
| 4276 | <para> | ||
| 4277 | To override these default configuration files with | ||
| 4278 | configurations you want used within every new | ||
| 4279 | Build Directory, simply set the | ||
| 4280 | <filename>TEMPLATECONF</filename> variable to your directory. | ||
| 4281 | The <filename>TEMPLATECONF</filename> variable is set in the | ||
| 4282 | <filename>.templateconf</filename> file, which is in the | ||
| 4283 | top-level | ||
| 4284 | <link linkend='source-directory'>Source Directory</link> | ||
| 4285 | folder (e.g. <filename>poky</filename>). | ||
| 4286 | Edit the <filename>.templateconf</filename> so that it can locate | ||
| 4287 | your directory. | ||
| 4288 | </para> | ||
| 4289 | |||
| 4290 | <para> | ||
| 4291 | Best practices dictate that you should keep your | ||
| 4292 | template configuration directory in your custom distribution layer. | ||
| 4293 | For example, suppose you have a layer named | ||
| 4294 | <filename>meta-mylayer</filename> located in your home directory | ||
| 4295 | and you want your template configuration directory named | ||
| 4296 | <filename>myconf</filename>. | ||
| 4297 | Changing the <filename>.templateconf</filename> as follows | ||
| 4298 | causes the OpenEmbedded build system to look in your directory | ||
| 4299 | and base its configuration files on the | ||
| 4300 | <filename>*.sample</filename> configuration files it finds. | ||
| 4301 | The final configuration files (i.e. | ||
| 4302 | <filename>local.conf</filename> and | ||
| 4303 | <filename>bblayers.conf</filename> ultimately still end up in | ||
| 4304 | your Build Directory, but they are based on your | ||
| 4305 | <filename>*.sample</filename> files. | ||
| 4306 | <literallayout class='monospaced'> | ||
| 4307 | TEMPLATECONF=${TEMPLATECONF:-meta-mylayer/myconf} | ||
| 4308 | </literallayout> | ||
| 4309 | </para> | ||
| 4310 | |||
| 4311 | <para> | ||
| 4312 | Aside from the <filename>*.sample</filename> configuration files, | ||
| 4313 | the <filename>conf-notes.txt</filename> also resides in the | ||
| 4314 | default <filename>meta-yocto/conf</filename> directory. | ||
| 4315 | The scripts that set up the build environment | ||
| 4316 | (i.e. | ||
| 4317 | <ulink url="&YOCTO_DOCS_REF_URL;#structure-core-script"><filename>&OE_INIT_FILE;</filename></ulink> | ||
| 4318 | and | ||
| 4319 | <ulink url="&YOCTO_DOCS_REF_URL;#structure-memres-core-script"><filename>oe-init-build-env-memres</filename></ulink>) | ||
| 4320 | use this file to display BitBake targets as part of the script | ||
| 4321 | output. | ||
| 4322 | Customizing this <filename>conf-notes.txt</filename> file is a | ||
| 4323 | good way to make sure your list of custom targets appears | ||
| 4324 | as part of the script's output. | ||
| 4325 | </para> | ||
| 4326 | |||
| 4327 | <para> | ||
| 4328 | Here is the default list of targets displayed as a result of | ||
| 4329 | running either of the setup scripts: | ||
| 4330 | <literallayout class='monospaced'> | ||
| 4331 | You can now run 'bitbake <target>' | ||
| 4332 | |||
| 4333 | Common targets are: | ||
| 4334 | core-image-minimal | ||
| 4335 | core-image-sato | ||
| 4336 | meta-toolchain | ||
| 4337 | adt-installer | ||
| 4338 | meta-ide-support | ||
| 4339 | </literallayout> | ||
| 4340 | </para> | ||
| 4341 | |||
| 4342 | <para> | ||
| 4343 | Changing the listed common targets is as easy as editing your | ||
| 4344 | version of <filename>conf-notes.txt</filename> in your | ||
| 4345 | custom template configuration directory and making sure you | ||
| 4346 | have <filename>TEMPLATECONF</filename> set to your directory. | ||
| 4347 | </para> | ||
| 4348 | </section> | ||
| 4349 | |||
| 4352 | <section id='building-a-tiny-system'> | 4350 | <section id='building-a-tiny-system'> |
| 4353 | <title>Building a Tiny System</title> | 4351 | <title>Building a Tiny System</title> |
| 4354 | 4352 | ||
