diff options
-rw-r--r-- | documentation/kernel-dev/kernel-dev-advanced.xml | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/documentation/kernel-dev/kernel-dev-advanced.xml b/documentation/kernel-dev/kernel-dev-advanced.xml index 0c9808c35e..35b935eced 100644 --- a/documentation/kernel-dev/kernel-dev-advanced.xml +++ b/documentation/kernel-dev/kernel-dev-advanced.xml | |||
@@ -1377,31 +1377,35 @@ the KTYPE has changed, now set to "tiny". | |||
1377 | <title>Working with Branches</title> | 1377 | <title>Working with Branches</title> |
1378 | 1378 | ||
1379 | <para> | 1379 | <para> |
1380 | Many linux-yocto-custom derived recipes will be using Linux kernel | 1380 | Many recipes based on the <filename>linux-yocto-custom.bb<filename> |
1381 | sources with only a single branch: "master". | 1381 | use Linux kernel sources that have only the single branch - "master". |
1382 | However, when you are working with multiple boards and architectures, | 1382 | However, if you work with multiple boards and architectures, |
1383 | you are likely to run into the situation where a series of patches | 1383 | you are likely to run into the situation where a series of patches |
1384 | are needed for one board to boot. | 1384 | are needed for one board to boot. |
1385 | Sometimes, these patches are works-in-progress or fundamentally wrong, | 1385 | Sometimes, these patches are works-in-progress or fundamentally wrong, |
1386 | yet still necessary for specific boards. | 1386 | yet still necessary for specific boards. |
1387 | In these situations, you most likely do not want to include these | 1387 | In these situations, you most likely do not want to include these |
1388 | patches in every kernel you build. | 1388 | patches in every kernel you build (i.e. have the patches as part of |
1389 | You have a couple of options. | 1389 | the lone "master" branch). |
1390 | It is situations like these that give rise to multiple branches used | ||
1391 | within a Linux kernel sources Git repository. | ||
1390 | </para> | 1392 | </para> |
1391 | 1393 | ||
1392 | <para> | 1394 | <para> |
1393 | First, you could encapsulate these patches in a feature description | 1395 | If you are supporting multiple boards and architectures, you have |
1394 | and only include them in the BSP description for the board(s) that | 1396 | some options as to how you want to isolate your changes: |
1395 | require them. | 1397 | <itemizedlist> |
1396 | For more information, see the | 1398 | <listitem><para><emphasis>Include feature patches in the BSP:</emphasis> |
1397 | "<link linkend='patches'>Patches</link>" and | 1399 | Encapsulate patches in a feature description and only include |
1398 | "<link linkend='bsp-descriptions'>BSP Descriptions</link>" sections. | 1400 | the patches in the BSP descriptions of the applicable boards. |
1399 | </para> | 1401 | For more information, see the |
1400 | 1402 | "<link linkend='patches'>Patches</link>" and | |
1401 | <para> | 1403 | "<link linkend='bsp-descriptions'>BSP Descriptions</link>" |
1402 | Alternatively, you can create a branch in your Linux kernel sources | 1404 | sections.</para></listitem> |
1403 | and apply the patches there. | 1405 | <listitem><para><emphasis>Create a machine branch:</emphasis> |
1404 | You can then specify this new branch as the | 1406 | You can create a machine branch in your Linux kernel sources |
1407 | and apply the patches there. | ||
1408 | You can then specify this new branch as the | ||
1405 | <filename>KBRANCH</filename> to use for this board. | 1409 | <filename>KBRANCH</filename> to use for this board. |
1406 | You can do this in the recipe with the | 1410 | You can do this in the recipe with the |
1407 | <filename>KBRANCH</filename> variable: | 1411 | <filename>KBRANCH</filename> variable: |