diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-model.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 85 |
1 files changed, 48 insertions, 37 deletions
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index fbdc2f0321..9607ab870b 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
@@ -299,50 +299,57 @@ | |||
299 | <link linkend='local-yp-release'>Yocto Project Release</link> in | 299 | <link linkend='local-yp-release'>Yocto Project Release</link> in |
300 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual. | 300 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual. |
301 | </para></listitem> | 301 | </para></listitem> |
302 | <listitem><para><emphasis>Establish a local copy of the Linux Yocto kernel files on your | 302 | <listitem><para><emphasis>Setting up the <filename>poky-extras</filename> Git |
303 | system</emphasis>: In order to make modifications to the kernel you need a base | 303 | repository</emphasis>: This repository is the area for your configuration |
304 | kernel with which to work. | 304 | fragments, new kernel recipes, and the kernel <filename>.bbappend</filename> |
305 | You can set up a local Git repository of the kernel on which you are basing your | 305 | file used during the build. |
306 | modifications. | 306 | It is good practice to set this repository up inside the local Yocto |
307 | Project files Git repository. | ||
307 | For information on how to get these files, see the bulleted item | 308 | For information on how to get these files, see the bulleted item |
309 | <link linkend='poky-extras-repo'>The | ||
310 | <filename>poky-extras</filename> Git Repository</link> in | ||
311 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual. | ||
312 | </para></listitem> | ||
313 | <listitem><para><emphasis>Establish a local copy of the Linux Yocto kernel files on your | ||
314 | system</emphasis>: In order to make modifications to the kernel you need two things: | ||
315 | a bare clone of the Linux Yocto kernel you are modifying and a copy of that | ||
316 | bare clone. | ||
317 | The bare clone is required by the build process and is the area to which you | ||
318 | push your kernel source changes. | ||
319 | The copy of the bare clone is a local Git repository that contains all the kernel's | ||
320 | source files. | ||
321 | You make your changes to the files in this copy of the bare clone. | ||
322 | For information on how to set these two items up, see the bulleted item | ||
308 | <link linkend='local-kernel-files'>Linux Yocto Kernel</link> in | 323 | <link linkend='local-kernel-files'>Linux Yocto Kernel</link> in |
309 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual. | 324 | <xref linkend='getting-setup'>Getting Setup</xref> earlier in this manual. |
310 | </para></listitem> | 325 | </para></listitem> |
311 | <listitem><para><emphasis>Establish a local kernel layer by copying the | 326 | <listitem><para><emphasis>Make changes to the kernel source code if |
312 | <filename>meta-skeleton</filename> layer</emphasis>: When you set up a kernel layer | 327 | applicable</emphasis>: Modifying the kernel does not always mean directly |
313 | for your changes you should follow a standard layout. | 328 | changing source files. |
314 | For kernel layers you can start with <filename>meta-skeleton</filename>, which | 329 | However, if you have to do this then you make the changes in the local |
315 | is a minimal, base kernel layer in the local Yocto Project files. | 330 | Git repository you set up to hold the source files (i.e. the copy of the |
316 | You can examine <filename>meta-skeleton</filename> | 331 | bare clone). |
317 | in the <filename>poky</filename> Git repository.</para> | 332 | Once the changes are made you need to use Git commands to commit the changes |
318 | <para>A layer is really just a location or area in which you place configuration | 333 | and then push them to the bare clone.</para></listitem> |
319 | fragments and recipes that modify your kernel. | ||
320 | The layer, in this case, would be where all the recipes that define those dependencies | ||
321 | are kept. | ||
322 | The key point for a layer is that it is an isolated area that contains | ||
323 | all the relevant information for the project that the Yocto Project build | ||
324 | system knows about.</para> | ||
325 | <para></para></listitem> | ||
326 | <listitem><para><emphasis>Prepare to use the <filename>menuconfig</filename> tool</emphasis>: | ||
327 | The tool <filename>menuconfig</filename> used within Bitbake provides an | ||
328 | interactive method with which you can configure the kernel. | ||
329 | In order to use <filename>menuconfig</filename> you need to first source an environment | ||
330 | setup script found in the local <filename>poky</filename> Git repository. | ||
331 | The script is named <filename>oe-init-build-env</filename>.</para></listitem> | ||
332 | <listitem><para><emphasis>Make kernel configuration changes | 334 | <listitem><para><emphasis>Make kernel configuration changes |
333 | to your local kernel layer</emphasis>: Use <filename>menuconfig</filename> | 335 | to your local kernel layer if applicable</emphasis>: |
334 | to enable and disable the configurations to the Linux Yocto kernel. | 336 | If your situation calls for changing the kernel's configuration you can |
337 | use <filename>menuconfig</filename> | ||
338 | to enable and disable kernel configurations. | ||
335 | Using <filename>menuconfig</filename> allows you to develop and test the | 339 | Using <filename>menuconfig</filename> allows you to develop and test the |
336 | configuration changes you are making to the kernel.</para></listitem> | 340 | configuration changes you are making to the kernel.</para></listitem> |
337 | <listitem><para><emphasis>Make kernel recipe changes to your new kernel | 341 | <listitem><para><emphasis>Add new kernel recipes</emphasis>: The standard |
338 | layer</emphasis>: The standard layer structure organizes recipe files you | 342 | layer structure organizes recipe files inside the |
339 | need to edit in several <filename>recipes-*</filename> directories within the | 343 | <filename>meta-kernel-dev</filename> layer that is within the |
340 | kernel layer. | 344 | <filename>poky-extras</filename> Git repository. |
341 | Recipe changes include altering recipes (<filename>.bb</filename> files), removing | 345 | If you need to add new kernel recipes you add them within this layer. |
342 | recipes you don't use, and adding new recipes that you need to support your hardware. | 346 | Also within this area you will find the <filename>.bbappend</filename> |
347 | file that appends information to the kernel's recipe file used during the | ||
348 | build. | ||
343 | </para></listitem> | 349 | </para></listitem> |
344 | <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the | 350 | <listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the |
345 | changes to your kernel layer there remains a few things | 351 | changes to your kernel (configurations, source code changes, recipe additions, |
352 | or recipe changes) there remains a few things | ||
346 | you need to do for the Yocto Project build system in order for it to create your image. | 353 | you need to do for the Yocto Project build system in order for it to create your image. |
347 | If you have not done so you need to get the build environment ready by sourcing | 354 | If you have not done so you need to get the build environment ready by sourcing |
348 | the environment setup script described earlier. | 355 | the environment setup script described earlier. |
@@ -350,7 +357,9 @@ | |||
350 | <para>The entire process for building an image is overviewed in the | 357 | <para>The entire process for building an image is overviewed in the |
351 | <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'> | 358 | <ulink url='http://www.yoctoproject.org/docs/1.1/yocto-project-qs/yocto-project-qs.html#building-image'> |
352 | Building an Image</ulink> section of the Yocto Project Quick Start. | 359 | Building an Image</ulink> section of the Yocto Project Quick Start. |
353 | You might want to reference this information.</para></listitem> | 360 | You might want to reference this information. |
361 | Also, you should look at the detailed examples found in the appendices at | ||
362 | end of this manual.</para></listitem> | ||
354 | <listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake | 363 | <listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake |
355 | tool to build images based on the type of image you want to create. | 364 | tool to build images based on the type of image you want to create. |
356 | You can find more information on BitBake | 365 | You can find more information on BitBake |
@@ -366,7 +375,9 @@ | |||
366 | in the kernel layer</emphasis>: Up to this point all the configuration changes to the | 375 | in the kernel layer</emphasis>: Up to this point all the configuration changes to the |
367 | kernel have been done and tested iteratively. | 376 | kernel have been done and tested iteratively. |
368 | Once they are tested and ready to go you can move them into the kernel layer, | 377 | Once they are tested and ready to go you can move them into the kernel layer, |
369 | which allows you to distribute the layer.</para></listitem> | 378 | which allows you to distribute the layer. |
379 | [WRITER'S NOTE: Not sure if the layer is meta-kernel-dev or if it would be | ||
380 | a new layer copied from the work done there.]</para></listitem> | ||
370 | <listitem><para><emphasis>Push your configuration and recipe changes upstream to the | 381 | <listitem><para><emphasis>Push your configuration and recipe changes upstream to the |
371 | linux Yocto Git repository (in-tree changes)</emphasis>: If the changes you made | 382 | linux Yocto Git repository (in-tree changes)</emphasis>: If the changes you made |
372 | are suited for all Linux Yocto users you might want to push the changes up into | 383 | are suited for all Linux Yocto users you might want to push the changes up into |