summaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual/extensible.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/sdk-manual/extensible.rst')
-rw-r--r--documentation/sdk-manual/extensible.rst81
1 files changed, 27 insertions, 54 deletions
diff --git a/documentation/sdk-manual/extensible.rst b/documentation/sdk-manual/extensible.rst
index baa432ef3b..04bafaed9e 100644
--- a/documentation/sdk-manual/extensible.rst
+++ b/documentation/sdk-manual/extensible.rst
@@ -59,8 +59,7 @@ The names of the tarball installer scripts are such that a string
59representing the host system appears first in the filename and then is 59representing the host system appears first in the filename and then is
60immediately followed by a string representing the target architecture. 60immediately followed by a string representing the target architecture.
61An extensible SDK has the string "-ext" as part of the name. Following 61An extensible SDK has the string "-ext" as part of the name. Following
62is the general form: 62is the general form::
63::
64 63
65 poky-glibc-host_system-image_type-arch-toolchain-ext-release_version.sh 64 poky-glibc-host_system-image_type-arch-toolchain-ext-release_version.sh
66 65
@@ -83,8 +82,7 @@ is the general form:
83 82
84For example, the following SDK installer is for a 64-bit 83For example, the following SDK installer is for a 64-bit
85development host system and a i586-tuned target architecture based off 84development host system and a i586-tuned target architecture based off
86the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot: 85the SDK for ``core-image-sato`` and using the current &DISTRO; snapshot::
87::
88 86
89 poky-glibc-x86_64-core-image-sato-i586-toolchain-ext-&DISTRO;.sh 87 poky-glibc-x86_64-core-image-sato-i586-toolchain-ext-&DISTRO;.sh
90 88
@@ -150,8 +148,7 @@ begin with the string "``environment-setup``" and include as part of
150their name the tuned target architecture. As an example, the following 148their name the tuned target architecture. As an example, the following
151commands set the working directory to where the SDK was installed and 149commands set the working directory to where the SDK was installed and
152then source the environment setup script. In this example, the setup 150then source the environment setup script. In this example, the setup
153script is for an IA-based target machine using i586 tuning: 151script is for an IA-based target machine using i586 tuning::
154::
155 152
156 $ cd /home/scottrif/poky_sdk 153 $ cd /home/scottrif/poky_sdk
157 $ source environment-setup-core2-64-poky-linux 154 $ source environment-setup-core2-64-poky-linux
@@ -258,8 +255,7 @@ command:
258 to be extracted. In this situation, the source code is extracted 255 to be extracted. In this situation, the source code is extracted
259 to the default workspace - you do not want the files in some 256 to the default workspace - you do not want the files in some
260 specific location outside of the workspace. Thus, everything you 257 specific location outside of the workspace. Thus, everything you
261 need will be located in the workspace: 258 need will be located in the workspace::
262 ::
263 259
264 $ devtool add recipe fetchuri 260 $ devtool add recipe fetchuri
265 261
@@ -283,8 +279,7 @@ command:
283 Furthermore, the first positional argument srctree in this case 279 Furthermore, the first positional argument srctree in this case
284 identifies where the ``devtool add`` command will locate the 280 identifies where the ``devtool add`` command will locate the
285 extracted code outside of the workspace. You need to specify an 281 extracted code outside of the workspace. You need to specify an
286 empty directory: 282 empty directory::
287 ::
288 283
289 $ devtool add recipe srctree fetchuri 284 $ devtool add recipe srctree fetchuri
290 285
@@ -300,8 +295,7 @@ command:
300 ``devtool`` workspace. 295 ``devtool`` workspace.
301 296
302 The following command provides a new recipe name and identifies 297 The following command provides a new recipe name and identifies
303 the existing source tree location: 298 the existing source tree location::
304 ::
305 299
306 $ devtool add recipe srctree 300 $ devtool add recipe srctree
307 301
@@ -317,8 +311,7 @@ command:
317 311
3182. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the 3122. *Edit the Recipe*: You can use ``devtool edit-recipe`` to open up the
319 editor as defined by the ``$EDITOR`` environment variable and modify 313 editor as defined by the ``$EDITOR`` environment variable and modify
320 the file: 314 the file::
321 ::
322 315
323 $ devtool edit-recipe recipe 316 $ devtool edit-recipe recipe
324 317
@@ -338,8 +331,7 @@ command:
338 On the other hand, if you want an image to contain the recipe's 331 On the other hand, if you want an image to contain the recipe's
339 packages from the workspace for immediate deployment onto a device 332 packages from the workspace for immediate deployment onto a device
340 (e.g. for testing purposes), you can use the ``devtool build-image`` 333 (e.g. for testing purposes), you can use the ``devtool build-image``
341 command: 334 command::
342 ::
343 335
344 $ devtool build-image image 336 $ devtool build-image image
345 337
@@ -435,8 +427,7 @@ command:
435 outside the workspace (i.e. ``meta-``\ layername). 427 outside the workspace (i.e. ``meta-``\ layername).
436 428
437 The following command identifies the recipe and, by default, 429 The following command identifies the recipe and, by default,
438 extracts the source files: 430 extracts the source files::
439 ::
440 431
441 $ devtool modify recipe 432 $ devtool modify recipe
442 433
@@ -474,8 +465,7 @@ command:
474 The following command tells ``devtool`` the recipe with which to 465 The following command tells ``devtool`` the recipe with which to
475 work and, in this case, identifies a local area for the extracted 466 work and, in this case, identifies a local area for the extracted
476 source files that exists outside of the default ``devtool`` 467 source files that exists outside of the default ``devtool``
477 workspace: 468 workspace::
478 ::
479 469
480 $ devtool modify recipe srctree 470 $ devtool modify recipe srctree
481 471
@@ -508,8 +498,7 @@ command:
508 The following command tells ``devtool`` the recipe with which to 498 The following command tells ``devtool`` the recipe with which to
509 work, uses the "-n" option to indicate source does not need to be 499 work, uses the "-n" option to indicate source does not need to be
510 extracted, and uses srctree to point to the previously extracted 500 extracted, and uses srctree to point to the previously extracted
511 source files: 501 source files::
512 ::
513 502
514 $ devtool modify -n recipe srctree 503 $ devtool modify -n recipe srctree
515 504
@@ -532,8 +521,7 @@ command:
532 depends on what you are going to do with the new code. 521 depends on what you are going to do with the new code.
533 522
534 If you need to eventually move the build output to the target 523 If you need to eventually move the build output to the target
535 hardware, use the following ``devtool`` command: 524 hardware, use the following ``devtool`` command::
536 ::
537 525
538 $ devtool build recipe 526 $ devtool build recipe
539 527
@@ -556,8 +544,7 @@ command:
556 development machine. 544 development machine.
557 545
558 You can deploy your build output to that target hardware by using the 546 You can deploy your build output to that target hardware by using the
559 ``devtool deploy-target`` command: 547 ``devtool deploy-target`` command::
560 ::
561 548
562 $ devtool deploy-target recipe target 549 $ devtool deploy-target recipe target
563 550
@@ -651,8 +638,7 @@ The following diagram shows the common development flow used with the
651 A common situation is where third-party software has undergone a 638 A common situation is where third-party software has undergone a
652 revision so that it has been upgraded. The recipe you have access to 639 revision so that it has been upgraded. The recipe you have access to
653 is likely in your own layer. Thus, you need to upgrade the recipe to 640 is likely in your own layer. Thus, you need to upgrade the recipe to
654 use the newer version of the software: 641 use the newer version of the software::
655 ::
656 642
657 $ devtool upgrade -V version recipe 643 $ devtool upgrade -V version recipe
658 644
@@ -703,16 +689,14 @@ The following diagram shows the common development flow used with the
703 depends on what you are going to do with the new code. 689 depends on what you are going to do with the new code.
704 690
705 If you need to eventually move the build output to the target 691 If you need to eventually move the build output to the target
706 hardware, use the following ``devtool`` command: 692 hardware, use the following ``devtool`` command::
707 ::
708 693
709 $ devtool build recipe 694 $ devtool build recipe
710 695
711 On the other hand, if you want an image to contain the recipe's 696 On the other hand, if you want an image to contain the recipe's
712 packages from the workspace for immediate deployment onto a device 697 packages from the workspace for immediate deployment onto a device
713 (e.g. for testing purposes), you can use the ``devtool build-image`` 698 (e.g. for testing purposes), you can use the ``devtool build-image``
714 command: 699 command::
715 ::
716 700
717 $ devtool build-image image 701 $ devtool build-image image
718 702
@@ -828,8 +812,7 @@ name and version, just the name, or just the version as part of the
828command line. 812command line.
829 813
830Sometimes the name or version determined from the source tree might be 814Sometimes the name or version determined from the source tree might be
831incorrect. For such a case, you must reset the recipe: 815incorrect. For such a case, you must reset the recipe::
832::
833 816
834 $ devtool reset -n recipename 817 $ devtool reset -n recipename
835 818
@@ -853,8 +836,7 @@ the ``DEPENDS`` variable in the original recipe to include the new
853recipe. 836recipe.
854 837
855If you need to add runtime dependencies, you can do so by adding the 838If you need to add runtime dependencies, you can do so by adding the
856following to your recipe: 839following to your recipe::
857::
858 840
859 RDEPENDS_${PN} += "dependency1 dependency2 ..." 841 RDEPENDS_${PN} += "dependency1 dependency2 ..."
860 842
@@ -938,8 +920,7 @@ mind:
938 the command line, add the variable setting to 920 the command line, add the variable setting to
939 :term:`EXTRA_OEMAKE` or 921 :term:`EXTRA_OEMAKE` or
940 :term:`PACKAGECONFIG_CONFARGS` 922 :term:`PACKAGECONFIG_CONFARGS`
941 within the recipe. Here is an example using ``EXTRA_OEMAKE``: 923 within the recipe. Here is an example using ``EXTRA_OEMAKE``::
942 ::
943 924
944 EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}'" 925 EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}'"
945 926
@@ -993,8 +974,7 @@ You can use the ``devtool add`` command two different ways to add
993Node.js modules: 1) Through ``npm`` and, 2) from a repository or local 974Node.js modules: 1) Through ``npm`` and, 2) from a repository or local
994source. 975source.
995 976
996Use the following form to add Node.js modules through ``npm``: 977Use the following form to add Node.js modules through ``npm``::
997::
998 978
999 $ devtool add "npm://registry.npmjs.org;name=forever;version=0.15.1" 979 $ devtool add "npm://registry.npmjs.org;name=forever;version=0.15.1"
1000 980
@@ -1018,8 +998,7 @@ these behaviors ensure the reproducibility and integrity of the build.
1018 998
1019As mentioned earlier, you can also add Node.js modules directly from a 999As mentioned earlier, you can also add Node.js modules directly from a
1020repository or local source tree. To add modules this way, use 1000repository or local source tree. To add modules this way, use
1021``devtool add`` in the following form: 1001``devtool add`` in the following form::
1022::
1023 1002
1024 $ devtool add https://github.com/diversario/node-ssdp 1003 $ devtool add https://github.com/diversario/node-ssdp
1025 1004
@@ -1196,15 +1175,13 @@ need to restore the original files that existed prior to running the
1196``devtool deploy-target`` command. Because the ``devtool deploy-target`` 1175``devtool deploy-target`` command. Because the ``devtool deploy-target``
1197command backs up any files it overwrites, you can use the 1176command backs up any files it overwrites, you can use the
1198``devtool undeploy-target`` command to restore those files and remove 1177``devtool undeploy-target`` command to restore those files and remove
1199any other files the recipe deployed. Consider the following example: 1178any other files the recipe deployed. Consider the following example::
1200::
1201 1179
1202 $ devtool undeploy-target lighttpd root@192.168.7.2 1180 $ devtool undeploy-target lighttpd root@192.168.7.2
1203 1181
1204If you have deployed 1182If you have deployed
1205multiple applications, you can remove them all using the "-a" option 1183multiple applications, you can remove them all using the "-a" option
1206thus restoring the target device to its original state: 1184thus restoring the target device to its original state::
1207::
1208 1185
1209 $ devtool undeploy-target -a root@192.168.7.2 1186 $ devtool undeploy-target -a root@192.168.7.2
1210 1187
@@ -1235,22 +1212,19 @@ populated on-demand. Sometimes you must explicitly install extra items
1235into the SDK. If you need these extra items, you can first search for 1212into the SDK. If you need these extra items, you can first search for
1236the items using the ``devtool search`` command. For example, suppose you 1213the items using the ``devtool search`` command. For example, suppose you
1237need to link to libGL but you are not sure which recipe provides libGL. 1214need to link to libGL but you are not sure which recipe provides libGL.
1238You can use the following command to find out: 1215You can use the following command to find out::
1239::
1240 1216
1241 $ devtool search libGL mesa 1217 $ devtool search libGL mesa
1242 1218
1243A free implementation of the OpenGL API Once you know the recipe 1219A free implementation of the OpenGL API Once you know the recipe
1244(i.e. ``mesa`` in this example), you can install it: 1220(i.e. ``mesa`` in this example), you can install it::
1245::
1246 1221
1247 $ devtool sdk-install mesa 1222 $ devtool sdk-install mesa
1248 1223
1249By default, the ``devtool sdk-install`` command assumes 1224By default, the ``devtool sdk-install`` command assumes
1250the item is available in pre-built form from your SDK provider. If the 1225the item is available in pre-built form from your SDK provider. If the
1251item is not available and it is acceptable to build the item from 1226item is not available and it is acceptable to build the item from
1252source, you can add the "-s" option as follows: 1227source, you can add the "-s" option as follows::
1253::
1254 1228
1255 $ devtool sdk-install -s mesa 1229 $ devtool sdk-install -s mesa
1256 1230
@@ -1266,8 +1240,7 @@ If you are working with an installed extensible SDK that gets
1266occasionally updated (e.g. a third-party SDK), then you will need to 1240occasionally updated (e.g. a third-party SDK), then you will need to
1267manually "pull down" the updates into the installed SDK. 1241manually "pull down" the updates into the installed SDK.
1268 1242
1269To update your installed SDK, use ``devtool`` as follows: 1243To update your installed SDK, use ``devtool`` as follows::
1270::
1271 1244
1272 $ devtool sdk-update 1245 $ devtool sdk-update
1273 1246