diff options
Diffstat (limited to 'documentation/sdk-manual/extensible.rst')
| -rw-r--r-- | documentation/sdk-manual/extensible.rst | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/documentation/sdk-manual/extensible.rst b/documentation/sdk-manual/extensible.rst index 7ab43e0a9d..e8a0a5b3ce 100644 --- a/documentation/sdk-manual/extensible.rst +++ b/documentation/sdk-manual/extensible.rst | |||
| @@ -47,7 +47,7 @@ Two ways to install the Extensible SDK | |||
| 47 | Extensible SDK can be installed in two different ways, and both have | 47 | Extensible SDK can be installed in two different ways, and both have |
| 48 | their own pros and cons: | 48 | their own pros and cons: |
| 49 | 49 | ||
| 50 | 1. *Setting up the Extensible SDK environment directly in a Yocto build*. This | 50 | #. *Setting up the Extensible SDK environment directly in a Yocto build*. This |
| 51 | avoids having to produce, test, distribute and maintain separate SDK installer | 51 | avoids having to produce, test, distribute and maintain separate SDK installer |
| 52 | archives, which can get very large. There is only one environment for the regular | 52 | archives, which can get very large. There is only one environment for the regular |
| 53 | Yocto build and the SDK and less code paths where things can go not according to plan. | 53 | Yocto build and the SDK and less code paths where things can go not according to plan. |
| @@ -56,7 +56,7 @@ git fetch or layer management tooling. The SDK extensibility is better than in t | |||
| 56 | second option: just run ``bitbake`` again to add more things to the sysroot, or add layers | 56 | second option: just run ``bitbake`` again to add more things to the sysroot, or add layers |
| 57 | if even more things are required. | 57 | if even more things are required. |
| 58 | 58 | ||
| 59 | 2. *Setting up the Extensible SDK from a standalone installer*. This has the benefit of | 59 | #. *Setting up the Extensible SDK from a standalone installer*. This has the benefit of |
| 60 | having a single, self-contained archive that includes all the needed binary artifacts. | 60 | having a single, self-contained archive that includes all the needed binary artifacts. |
| 61 | So nothing needs to be rebuilt, and there is no need to provide a well-functioning | 61 | So nothing needs to be rebuilt, and there is no need to provide a well-functioning |
| 62 | binary artefact cache over the network for developers with underpowered laptops. | 62 | binary artefact cache over the network for developers with underpowered laptops. |
| @@ -64,10 +64,10 @@ binary artefact cache over the network for developers with underpowered laptops. | |||
| 64 | Setting up the Extensible SDK environment directly in a Yocto build | 64 | Setting up the Extensible SDK environment directly in a Yocto build |
| 65 | ------------------------------------------------------------------- | 65 | ------------------------------------------------------------------- |
| 66 | 66 | ||
| 67 | 1. Set up all the needed layers and a Yocto :term:`Build Directory`, e.g. a regular Yocto | 67 | #. Set up all the needed layers and a Yocto :term:`Build Directory`, e.g. a regular Yocto |
| 68 | build where ``bitbake`` can be executed. | 68 | build where ``bitbake`` can be executed. |
| 69 | 69 | ||
| 70 | 2. Run: | 70 | #. Run: |
| 71 | $ bitbake meta-ide-support | 71 | $ bitbake meta-ide-support |
| 72 | $ bitbake -c populate_sysroot gtk+3 | 72 | $ bitbake -c populate_sysroot gtk+3 |
| 73 | (or any other target or native item that the application developer would need) | 73 | (or any other target or native item that the application developer would need) |
| @@ -279,7 +279,7 @@ command: | |||
| 279 | .. image:: figures/sdk-devtool-add-flow.png | 279 | .. image:: figures/sdk-devtool-add-flow.png |
| 280 | :width: 100% | 280 | :width: 100% |
| 281 | 281 | ||
| 282 | 1. *Generating the New Recipe*: The top part of the flow shows three | 282 | #. *Generating the New Recipe*: The top part of the flow shows three |
| 283 | scenarios by which you could use ``devtool add`` to generate a recipe | 283 | scenarios by which you could use ``devtool add`` to generate a recipe |
| 284 | based on existing source code. | 284 | based on existing source code. |
| 285 | 285 | ||
| @@ -352,7 +352,7 @@ command: | |||
| 352 | Aside from a recipe folder, the command also creates an associated | 352 | Aside from a recipe folder, the command also creates an associated |
| 353 | append folder and places an initial ``*.bbappend`` file within. | 353 | append folder and places an initial ``*.bbappend`` file within. |
| 354 | 354 | ||
| 355 | 2. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the | 355 | #. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the |
| 356 | editor as defined by the ``$EDITOR`` environment variable and modify | 356 | editor as defined by the ``$EDITOR`` environment variable and modify |
| 357 | the file:: | 357 | the file:: |
| 358 | 358 | ||
| @@ -362,7 +362,7 @@ command: | |||
| 362 | can make modifications to the recipe that take effect when you build | 362 | can make modifications to the recipe that take effect when you build |
| 363 | it later. | 363 | it later. |
| 364 | 364 | ||
| 365 | 3. *Build the Recipe or Rebuild the Image*: The next step you take | 365 | #. *Build the Recipe or Rebuild the Image*: The next step you take |
| 366 | depends on what you are going to do with the new code. | 366 | depends on what you are going to do with the new code. |
| 367 | 367 | ||
| 368 | If you need to eventually move the build output to the target | 368 | If you need to eventually move the build output to the target |
| @@ -378,7 +378,7 @@ command: | |||
| 378 | 378 | ||
| 379 | $ devtool build-image image | 379 | $ devtool build-image image |
| 380 | 380 | ||
| 381 | 4. *Deploy the Build Output*: When you use the ``devtool build`` command | 381 | #. *Deploy the Build Output*: When you use the ``devtool build`` command |
| 382 | to build out your recipe, you probably want to see if the resulting | 382 | to build out your recipe, you probably want to see if the resulting |
| 383 | build output works as expected on the target hardware. | 383 | build output works as expected on the target hardware. |
| 384 | 384 | ||
| @@ -400,7 +400,7 @@ command: | |||
| 400 | ``devtool`` does not provide a specific command that allows you to | 400 | ``devtool`` does not provide a specific command that allows you to |
| 401 | deploy the image to actual hardware. | 401 | deploy the image to actual hardware. |
| 402 | 402 | ||
| 403 | 5. *Finish Your Work With the Recipe*: The ``devtool finish`` command | 403 | #. *Finish Your Work With the Recipe*: The ``devtool finish`` command |
| 404 | creates any patches corresponding to commits in the local Git | 404 | creates any patches corresponding to commits in the local Git |
| 405 | repository, moves the new recipe to a more permanent layer, and then | 405 | repository, moves the new recipe to a more permanent layer, and then |
| 406 | resets the recipe so that the recipe is built normally rather than | 406 | resets the recipe so that the recipe is built normally rather than |
| @@ -446,7 +446,7 @@ command: | |||
| 446 | .. image:: figures/sdk-devtool-modify-flow.png | 446 | .. image:: figures/sdk-devtool-modify-flow.png |
| 447 | :width: 100% | 447 | :width: 100% |
| 448 | 448 | ||
| 449 | 1. *Preparing to Modify the Code*: The top part of the flow shows three | 449 | #. *Preparing to Modify the Code*: The top part of the flow shows three |
| 450 | scenarios by which you could use ``devtool modify`` to prepare to | 450 | scenarios by which you could use ``devtool modify`` to prepare to |
| 451 | work on source files. Each scenario assumes the following: | 451 | work on source files. Each scenario assumes the following: |
| 452 | 452 | ||
| @@ -555,11 +555,11 @@ command: | |||
| 555 | append file for the recipe in the ``devtool`` workspace. The | 555 | append file for the recipe in the ``devtool`` workspace. The |
| 556 | recipe and the source code remain in their original locations. | 556 | recipe and the source code remain in their original locations. |
| 557 | 557 | ||
| 558 | 2. *Edit the Source*: Once you have used the ``devtool modify`` command, | 558 | #. *Edit the Source*: Once you have used the ``devtool modify`` command, |
| 559 | you are free to make changes to the source files. You can use any | 559 | you are free to make changes to the source files. You can use any |
| 560 | editor you like to make and save your source code modifications. | 560 | editor you like to make and save your source code modifications. |
| 561 | 561 | ||
| 562 | 3. *Build the Recipe or Rebuild the Image*: The next step you take | 562 | #. *Build the Recipe or Rebuild the Image*: The next step you take |
| 563 | depends on what you are going to do with the new code. | 563 | depends on what you are going to do with the new code. |
| 564 | 564 | ||
| 565 | If you need to eventually move the build output to the target | 565 | If you need to eventually move the build output to the target |
| @@ -572,7 +572,7 @@ command: | |||
| 572 | (e.g. for testing purposes), you can use the ``devtool build-image`` | 572 | (e.g. for testing purposes), you can use the ``devtool build-image`` |
| 573 | command: $ devtool build-image image | 573 | command: $ devtool build-image image |
| 574 | 574 | ||
| 575 | 4. *Deploy the Build Output*: When you use the ``devtool build`` command | 575 | #. *Deploy the Build Output*: When you use the ``devtool build`` command |
| 576 | to build out your recipe, you probably want to see if the resulting | 576 | to build out your recipe, you probably want to see if the resulting |
| 577 | build output works as expected on target hardware. | 577 | build output works as expected on target hardware. |
| 578 | 578 | ||
| @@ -597,7 +597,7 @@ command: | |||
| 597 | ``devtool`` does not provide a specific command to deploy the image | 597 | ``devtool`` does not provide a specific command to deploy the image |
| 598 | to actual hardware. | 598 | to actual hardware. |
| 599 | 599 | ||
| 600 | 5. *Finish Your Work With the Recipe*: The ``devtool finish`` command | 600 | #. *Finish Your Work With the Recipe*: The ``devtool finish`` command |
| 601 | creates any patches corresponding to commits in the local Git | 601 | creates any patches corresponding to commits in the local Git |
| 602 | repository, updates the recipe to point to them (or creates a | 602 | repository, updates the recipe to point to them (or creates a |
| 603 | ``.bbappend`` file to do so, depending on the specified destination | 603 | ``.bbappend`` file to do so, depending on the specified destination |
| @@ -664,7 +664,7 @@ The following diagram shows the common development flow used with the | |||
| 664 | .. image:: figures/sdk-devtool-upgrade-flow.png | 664 | .. image:: figures/sdk-devtool-upgrade-flow.png |
| 665 | :width: 100% | 665 | :width: 100% |
| 666 | 666 | ||
| 667 | 1. *Initiate the Upgrade*: The top part of the flow shows the typical | 667 | #. *Initiate the Upgrade*: The top part of the flow shows the typical |
| 668 | scenario by which you use the ``devtool upgrade`` command. The | 668 | scenario by which you use the ``devtool upgrade`` command. The |
| 669 | following conditions exist: | 669 | following conditions exist: |
| 670 | 670 | ||
| @@ -716,7 +716,7 @@ The following diagram shows the common development flow used with the | |||
| 716 | are incorporated into the build the next time you build the software | 716 | are incorporated into the build the next time you build the software |
| 717 | just as are other changes you might have made to the source. | 717 | just as are other changes you might have made to the source. |
| 718 | 718 | ||
| 719 | 2. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen | 719 | #. *Resolve any Conflicts created by the Upgrade*: Conflicts could happen |
| 720 | after upgrading the software to a new version. Conflicts occur | 720 | after upgrading the software to a new version. Conflicts occur |
| 721 | if your recipe specifies some patch files in :term:`SRC_URI` that | 721 | if your recipe specifies some patch files in :term:`SRC_URI` that |
| 722 | conflict with changes made in the new version of the software. For | 722 | conflict with changes made in the new version of the software. For |
| @@ -727,7 +727,7 @@ The following diagram shows the common development flow used with the | |||
| 727 | conflicts created through use of a newer or different version of the | 727 | conflicts created through use of a newer or different version of the |
| 728 | software. | 728 | software. |
| 729 | 729 | ||
| 730 | 3. *Build the Recipe or Rebuild the Image*: The next step you take | 730 | #. *Build the Recipe or Rebuild the Image*: The next step you take |
| 731 | depends on what you are going to do with the new code. | 731 | depends on what you are going to do with the new code. |
| 732 | 732 | ||
| 733 | If you need to eventually move the build output to the target | 733 | If you need to eventually move the build output to the target |
| @@ -742,7 +742,7 @@ The following diagram shows the common development flow used with the | |||
| 742 | 742 | ||
| 743 | $ devtool build-image image | 743 | $ devtool build-image image |
| 744 | 744 | ||
| 745 | 4. *Deploy the Build Output*: When you use the ``devtool build`` command | 745 | #. *Deploy the Build Output*: When you use the ``devtool build`` command |
| 746 | or ``bitbake`` to build your recipe, you probably want to see if the | 746 | or ``bitbake`` to build your recipe, you probably want to see if the |
| 747 | resulting build output works as expected on target hardware. | 747 | resulting build output works as expected on target hardware. |
| 748 | 748 | ||
| @@ -764,7 +764,7 @@ The following diagram shows the common development flow used with the | |||
| 764 | ``devtool`` does not provide a specific command that allows you to do | 764 | ``devtool`` does not provide a specific command that allows you to do |
| 765 | this. | 765 | this. |
| 766 | 766 | ||
| 767 | 5. *Finish Your Work With the Recipe*: The ``devtool finish`` command | 767 | #. *Finish Your Work With the Recipe*: The ``devtool finish`` command |
| 768 | creates any patches corresponding to commits in the local Git | 768 | creates any patches corresponding to commits in the local Git |
| 769 | repository, moves the new recipe to a more permanent layer, and then | 769 | repository, moves the new recipe to a more permanent layer, and then |
| 770 | resets the recipe so that the recipe is built normally rather than | 770 | resets the recipe so that the recipe is built normally rather than |
| @@ -1054,17 +1054,17 @@ Working With Recipes | |||
| 1054 | When building a recipe using the ``devtool build`` command, the typical | 1054 | When building a recipe using the ``devtool build`` command, the typical |
| 1055 | build progresses as follows: | 1055 | build progresses as follows: |
| 1056 | 1056 | ||
| 1057 | 1. Fetch the source | 1057 | #. Fetch the source |
| 1058 | 1058 | ||
| 1059 | 2. Unpack the source | 1059 | #. Unpack the source |
| 1060 | 1060 | ||
| 1061 | 3. Configure the source | 1061 | #. Configure the source |
| 1062 | 1062 | ||
| 1063 | 4. Compile the source | 1063 | #. Compile the source |
| 1064 | 1064 | ||
| 1065 | 5. Install the build output | 1065 | #. Install the build output |
| 1066 | 1066 | ||
| 1067 | 6. Package the installed output | 1067 | #. Package the installed output |
| 1068 | 1068 | ||
| 1069 | For recipes in the workspace, fetching and unpacking is disabled as the | 1069 | For recipes in the workspace, fetching and unpacking is disabled as the |
| 1070 | source tree has already been prepared and is persistent. Each of these | 1070 | source tree has already been prepared and is persistent. Each of these |
| @@ -1322,15 +1322,15 @@ those customers need an SDK that has custom libraries. In such a case, | |||
| 1322 | you can produce a derivative SDK based on the currently installed SDK | 1322 | you can produce a derivative SDK based on the currently installed SDK |
| 1323 | fairly easily by following these steps: | 1323 | fairly easily by following these steps: |
| 1324 | 1324 | ||
| 1325 | 1. If necessary, install an extensible SDK that you want to use as a | 1325 | #. If necessary, install an extensible SDK that you want to use as a |
| 1326 | base for your derivative SDK. | 1326 | base for your derivative SDK. |
| 1327 | 1327 | ||
| 1328 | 2. Source the environment script for the SDK. | 1328 | #. Source the environment script for the SDK. |
| 1329 | 1329 | ||
| 1330 | 3. Add the extra libraries or other components you want by using the | 1330 | #. Add the extra libraries or other components you want by using the |
| 1331 | ``devtool add`` command. | 1331 | ``devtool add`` command. |
| 1332 | 1332 | ||
| 1333 | 4. Run the ``devtool build-sdk`` command. | 1333 | #. Run the ``devtool build-sdk`` command. |
| 1334 | 1334 | ||
| 1335 | The previous steps take the recipes added to the workspace and construct | 1335 | The previous steps take the recipes added to the workspace and construct |
| 1336 | a new SDK installer that contains those recipes and the resulting binary | 1336 | a new SDK installer that contains those recipes and the resulting binary |
