diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-model.xml')
| -rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 593 |
1 files changed, 6 insertions, 587 deletions
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index 0385fac44c..1edead3d6b 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
| @@ -646,6 +646,12 @@ | |||
| 646 | 646 | ||
| 647 | <para> | 647 | <para> |
| 648 | The remainder of this section presents these workflows. | 648 | The remainder of this section presents these workflows. |
| 649 | <note> | ||
| 650 | See the | ||
| 651 | "<ulink url='&YOCTO_DOCS_REF_URL;#ref-devtool-reference'><filename>devtool</filename> Quick Reference</ulink>" | ||
| 652 | in the Yocto Project Reference Manual for more a | ||
| 653 | <filename>devtool</filename> reference. | ||
| 654 | </note> | ||
| 649 | </para> | 655 | </para> |
| 650 | 656 | ||
| 651 | <section id='use-devtool-to-integrate-new-code'> | 657 | <section id='use-devtool-to-integrate-new-code'> |
| @@ -1259,593 +1265,6 @@ | |||
| 1259 | </section> | 1265 | </section> |
| 1260 | </section> | 1266 | </section> |
| 1261 | 1267 | ||
| 1262 | <section id='devtool-quick-reference'> | ||
| 1263 | <title><filename>devtool</filename> Quick Reference</title> | ||
| 1264 | |||
| 1265 | <para> | ||
| 1266 | <filename>devtool</filename> has more functionality than simply | ||
| 1267 | adding a new recipe and the supporting Metadata to a temporary | ||
| 1268 | workspace layer. | ||
| 1269 | This section provides a short reference on | ||
| 1270 | <filename>devtool</filename> and its commands. | ||
| 1271 | </para> | ||
| 1272 | |||
| 1273 | <section id='devtool-getting-help'> | ||
| 1274 | <title>Getting Help</title> | ||
| 1275 | |||
| 1276 | <para> | ||
| 1277 | The easiest way to get help with the | ||
| 1278 | <filename>devtool</filename> command is using the | ||
| 1279 | <filename>--help</filename> option: | ||
| 1280 | <literallayout class='monospaced'> | ||
| 1281 | usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] | ||
| 1282 | [--color COLOR] [-h] | ||
| 1283 | <subcommand> ... | ||
| 1284 | |||
| 1285 | OpenEmbedded development tool | ||
| 1286 | |||
| 1287 | options: | ||
| 1288 | --basepath BASEPATH Base directory of SDK / build directory | ||
| 1289 | --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it | ||
| 1290 | from the metadata | ||
| 1291 | -d, --debug Enable debug output | ||
| 1292 | -q, --quiet Print only errors | ||
| 1293 | --color COLOR Colorize output (where COLOR is auto, always, never) | ||
| 1294 | -h, --help show this help message and exit | ||
| 1295 | |||
| 1296 | subcommands: | ||
| 1297 | Beginning work on a recipe: | ||
| 1298 | add Add a new recipe | ||
| 1299 | modify Modify the source for an existing recipe | ||
| 1300 | upgrade Upgrade an existing recipe | ||
| 1301 | Getting information: | ||
| 1302 | status Show workspace status | ||
| 1303 | search Search available recipes | ||
| 1304 | Working on a recipe in the workspace: | ||
| 1305 | edit-recipe Edit a recipe file in your workspace | ||
| 1306 | configure-help Get help on configure script options | ||
| 1307 | build Build a recipe | ||
| 1308 | update-recipe Apply changes from external source tree to recipe | ||
| 1309 | reset Remove a recipe from your workspace | ||
| 1310 | finish Finish working on a recipe in your workspace | ||
| 1311 | Testing changes on target: | ||
| 1312 | deploy-target Deploy recipe output files to live target machine | ||
| 1313 | undeploy-target Undeploy recipe output files in live target machine | ||
| 1314 | build-image Build image including workspace recipe packages | ||
| 1315 | Advanced: | ||
| 1316 | create-workspace Set up workspace in an alternative location | ||
| 1317 | extract Extract the source for an existing recipe | ||
| 1318 | sync Synchronize the source tree for an existing recipe | ||
| 1319 | Use devtool <subcommand> --help to get help on a specific command | ||
| 1320 | </literallayout> | ||
| 1321 | </para> | ||
| 1322 | |||
| 1323 | <para> | ||
| 1324 | As directed in the general help output, you can get more | ||
| 1325 | syntax on a specific command by providing the command | ||
| 1326 | name and using <filename>--help</filename>: | ||
| 1327 | <literallayout class='monospaced'> | ||
| 1328 | $ devtool add --help | ||
| 1329 | usage: devtool add [-h] [--same-dir | --no-same-dir] [--fetch URI] | ||
| 1330 | [--version VERSION] [--no-git] [--autorev] [--binary] | ||
| 1331 | [--also-native] [--src-subdir SUBDIR] | ||
| 1332 | [recipename] [srctree] [fetchuri] | ||
| 1333 | |||
| 1334 | Adds a new recipe to the workspace to build a specified source tree. Can | ||
| 1335 | optionally fetch a remote URI and unpack it to create the source tree. | ||
| 1336 | |||
| 1337 | arguments: | ||
| 1338 | recipename Name for new recipe to add (just name - no version, | ||
| 1339 | path or extension). If not specified, will attempt to | ||
| 1340 | auto-detect it. | ||
| 1341 | srctree Path to external source tree. If not specified, a | ||
| 1342 | subdirectory of | ||
| 1343 | /home/scottrif/poky/build/workspace/sources will be | ||
| 1344 | used. | ||
| 1345 | fetchuri Fetch the specified URI and extract it to create the | ||
| 1346 | source tree | ||
| 1347 | |||
| 1348 | options: | ||
| 1349 | -h, --help show this help message and exit | ||
| 1350 | --same-dir, -s Build in same directory as source | ||
| 1351 | --no-same-dir Force build in a separate build directory | ||
| 1352 | --fetch URI, -f URI Fetch the specified URI and extract it to create the | ||
| 1353 | source tree (deprecated - pass as positional argument | ||
| 1354 | instead) | ||
| 1355 | --version VERSION, -V VERSION | ||
| 1356 | Version to use within recipe (PV) | ||
| 1357 | --no-git, -g If fetching source, do not set up source tree as a git | ||
| 1358 | repository | ||
| 1359 | --autorev, -a When fetching from a git repository, set SRCREV in the | ||
| 1360 | recipe to a floating revision instead of fixed | ||
| 1361 | --binary, -b Treat the source tree as something that should be | ||
| 1362 | installed verbatim (no compilation, same directory | ||
| 1363 | structure). Useful with binary packages e.g. RPMs. | ||
| 1364 | --also-native Also add native variant (i.e. support building recipe | ||
| 1365 | for the build host as well as the target machine) | ||
| 1366 | --src-subdir SUBDIR Specify subdirectory within source tree to use | ||
| 1367 | </literallayout> | ||
| 1368 | </para> | ||
| 1369 | </section> | ||
| 1370 | |||
| 1371 | <section id='devtool-the-workspace-layer-structure'> | ||
| 1372 | <title>The Workspace Layer Structure</title> | ||
| 1373 | |||
| 1374 | <para> | ||
| 1375 | <filename>devtool</filename> uses a "Workspace" layer | ||
| 1376 | in which to accomplish builds. | ||
| 1377 | This layer is not specific to any single | ||
| 1378 | <filename>devtool</filename> command but is rather a common | ||
| 1379 | working area used across the tool. | ||
| 1380 | </para> | ||
| 1381 | |||
| 1382 | <para> | ||
| 1383 | The following figure shows the workspace structure: | ||
| 1384 | </para> | ||
| 1385 | |||
| 1386 | <para> | ||
| 1387 | <imagedata fileref="figures/build-workspace-directory.png" | ||
| 1388 | width="6in" depth="5in" align="left" scale="70" /> | ||
| 1389 | </para> | ||
| 1390 | |||
| 1391 | <para> | ||
| 1392 | <literallayout class='monospaced'> | ||
| 1393 | attic - A directory created if devtool believes it preserve | ||
| 1394 | anything when you run "devtool reset". For example, if you | ||
| 1395 | run "devtool add", make changes to the recipe, and then | ||
| 1396 | run "devtool reset", devtool takes notice that the file has | ||
| 1397 | been changed and moves it into the attic should you still | ||
| 1398 | want the recipe. | ||
| 1399 | |||
| 1400 | README - Provides information on what is in workspace layer and how to | ||
| 1401 | manage it. | ||
| 1402 | |||
| 1403 | .devtool_md5 - A checksum file used by devtool. | ||
| 1404 | |||
| 1405 | appends - A directory that contains *.bbappend files, which point to | ||
| 1406 | external source. | ||
| 1407 | |||
| 1408 | conf - A configuration directory that contains the layer.conf file. | ||
| 1409 | |||
| 1410 | recipes - A directory containing recipes. This directory contains a | ||
| 1411 | folder for each directory added whose name matches that of the | ||
| 1412 | added recipe. devtool places the <replaceable>recipe</replaceable>.bb file | ||
| 1413 | within that sub-directory. | ||
| 1414 | |||
| 1415 | sources - A directory containing a working copy of the source files used | ||
| 1416 | when building the recipe. This is the default directory used | ||
| 1417 | as the location of the source tree when you do not provide a | ||
| 1418 | source tree path. This directory contains a folder for each | ||
| 1419 | set of source files matched to a corresponding recipe. | ||
| 1420 | </literallayout> | ||
| 1421 | </para> | ||
| 1422 | </section> | ||
| 1423 | |||
| 1424 | <section id='devtool-adding-a-new-recipe-to-the-workspace'> | ||
| 1425 | <title>Adding a New Recipe to the Workspace Layer</title> | ||
| 1426 | |||
| 1427 | <para> | ||
| 1428 | Use the <filename>devtool add</filename> command to add a new recipe | ||
| 1429 | to the workspace layer. | ||
| 1430 | The recipe you add should not exist - | ||
| 1431 | <filename>devtool</filename> creates it for you. | ||
| 1432 | The source files the recipe uses should exist in an external | ||
| 1433 | area. | ||
| 1434 | </para> | ||
| 1435 | |||
| 1436 | <para> | ||
| 1437 | The following example creates and adds a new recipe named | ||
| 1438 | <filename>jackson</filename> to a workspace layer the tool creates. | ||
| 1439 | The source code built by the recipes resides in | ||
| 1440 | <filename>/home/scottrif/sources/jackson</filename>: | ||
| 1441 | <literallayout class='monospaced'> | ||
| 1442 | $ devtool add jackson /home/scottrif/sources/jackson | ||
| 1443 | </literallayout> | ||
| 1444 | </para> | ||
| 1445 | |||
| 1446 | <para> | ||
| 1447 | If you add a recipe and the workspace layer does not exist, | ||
| 1448 | the command creates the layer and populates it as | ||
| 1449 | described in | ||
| 1450 | "<link linkend='devtool-the-workspace-layer-structure'>The Workspace Layer Structure</link>" | ||
| 1451 | section. | ||
| 1452 | </para> | ||
| 1453 | |||
| 1454 | <para> | ||
| 1455 | Running <filename>devtool add</filename> when the | ||
| 1456 | workspace layer exists causes the tool to add the recipe, | ||
| 1457 | append files, and source files into the existing workspace layer. | ||
| 1458 | The <filename>.bbappend</filename> file is created to point | ||
| 1459 | to the external source tree. | ||
| 1460 | </para> | ||
| 1461 | </section> | ||
| 1462 | |||
| 1463 | <section id='devtool-extracting-the-source-for-an-existing-recipe'> | ||
| 1464 | <title>Extracting the Source for an Existing Recipe</title> | ||
| 1465 | |||
| 1466 | <para> | ||
| 1467 | Use the <filename>devtool extract</filename> command to | ||
| 1468 | extract the source for an existing recipe. | ||
| 1469 | When you use this command, you must supply the root name | ||
| 1470 | of the recipe (i.e. no version, paths, or extensions), and | ||
| 1471 | you must supply the directory to which you want the source | ||
| 1472 | extracted. | ||
| 1473 | </para> | ||
| 1474 | |||
| 1475 | <para> | ||
| 1476 | Additional command options let you control the name of a | ||
| 1477 | development branch into which you can checkout the source | ||
| 1478 | and whether or not to keep a temporary directory, which is | ||
| 1479 | useful for debugging. | ||
| 1480 | </para> | ||
| 1481 | </section> | ||
| 1482 | |||
| 1483 | <section id='devtool-synchronizing-a-recipes-extracted-source-tree'> | ||
| 1484 | <title>Synchronizing a Recipe's Extracted Source Tree</title> | ||
| 1485 | |||
| 1486 | <para> | ||
| 1487 | Use the <filename>devtool sync</filename> command to | ||
| 1488 | synchronize a previously extracted source tree for an | ||
| 1489 | existing recipe. | ||
| 1490 | When you use this command, you must supply the root name | ||
| 1491 | of the recipe (i.e. no version, paths, or extensions), and | ||
| 1492 | you must supply the directory to which you want the source | ||
| 1493 | extracted. | ||
| 1494 | </para> | ||
| 1495 | |||
| 1496 | <para> | ||
| 1497 | Additional command options let you control the name of a | ||
| 1498 | development branch into which you can checkout the source | ||
| 1499 | and whether or not to keep a temporary directory, which is | ||
| 1500 | useful for debugging. | ||
| 1501 | </para> | ||
| 1502 | </section> | ||
| 1503 | |||
| 1504 | <section id='devtool-modifying-a-recipe'> | ||
| 1505 | <title>Modifying an Existing Recipe</title> | ||
| 1506 | |||
| 1507 | <para> | ||
| 1508 | Use the <filename>devtool modify</filename> command to begin | ||
| 1509 | modifying the source of an existing recipe. | ||
| 1510 | This command is very similar to the | ||
| 1511 | <link linkend='devtool-adding-a-new-recipe-to-the-workspace'><filename>add</filename></link> | ||
| 1512 | command except that it does not physically create the | ||
| 1513 | recipe in the workspace layer because the recipe already | ||
| 1514 | exists in an another layer. | ||
| 1515 | </para> | ||
| 1516 | |||
| 1517 | <para> | ||
| 1518 | The <filename>devtool modify</filename> command extracts the | ||
| 1519 | source for a recipe, sets it up as a Git repository if the | ||
| 1520 | source had not already been fetched from Git, checks out a | ||
| 1521 | branch for development, and applies any patches from the recipe | ||
| 1522 | as commits on top. | ||
| 1523 | You can use the following command to checkout the source | ||
| 1524 | files: | ||
| 1525 | <literallayout class='monospaced'> | ||
| 1526 | $ devtool modify <replaceable>recipe</replaceable> | ||
| 1527 | </literallayout> | ||
| 1528 | Using the above command form, <filename>devtool</filename> uses | ||
| 1529 | the existing recipe's | ||
| 1530 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> | ||
| 1531 | statement to locate the upstream source, extracts the source | ||
| 1532 | into the default sources location in the workspace. | ||
| 1533 | The default development branch used is "devtool". | ||
| 1534 | </para> | ||
| 1535 | </section> | ||
| 1536 | |||
| 1537 | <section id='devtool-edit-an-existing-recipe'> | ||
| 1538 | <title>Edit an Existing Recipe</title> | ||
| 1539 | |||
| 1540 | <para> | ||
| 1541 | Use the <filename>devtool edit-recipe</filename> command | ||
| 1542 | to run the default editor, which is identified using the | ||
| 1543 | <filename>EDITOR</filename> variable, on the specified recipe. | ||
| 1544 | </para> | ||
| 1545 | |||
| 1546 | <para> | ||
| 1547 | When you use the <filename>devtool edit-recipe</filename> | ||
| 1548 | command, you must supply the root name of the recipe | ||
| 1549 | (i.e. no version, paths, or extensions). | ||
| 1550 | Also, the recipe file itself must reside in the workspace | ||
| 1551 | as a result of the <filename>devtool add</filename> or | ||
| 1552 | <filename>devtool upgrade</filename> commands. | ||
| 1553 | However, you can override that requirement by using the | ||
| 1554 | "-a" or "--any-recipe" option. | ||
| 1555 | Using either of these options allows you to edit any recipe | ||
| 1556 | regardless of its location. | ||
| 1557 | </para> | ||
| 1558 | </section> | ||
| 1559 | |||
| 1560 | <section id='devtool-updating-a-recipe'> | ||
| 1561 | <title>Updating a Recipe</title> | ||
| 1562 | |||
| 1563 | <para> | ||
| 1564 | Use the <filename>devtool update-recipe</filename> command to | ||
| 1565 | update your recipe with patches that reflect changes you make | ||
| 1566 | to the source files. | ||
| 1567 | For example, if you know you are going to work on some | ||
| 1568 | code, you could first use the | ||
| 1569 | <link linkend='devtool-modifying-a-recipe'><filename>devtool modify</filename></link> | ||
| 1570 | command to extract the code and set up the workspace. | ||
| 1571 | After which, you could modify, compile, and test the code. | ||
| 1572 | </para> | ||
| 1573 | |||
| 1574 | <para> | ||
| 1575 | When you are satisfied with the results and you have committed | ||
| 1576 | your changes to the Git repository, you can then | ||
| 1577 | run the <filename>devtool update-recipe</filename> to create the | ||
| 1578 | patches and update the recipe: | ||
| 1579 | <literallayout class='monospaced'> | ||
| 1580 | $ devtool update-recipe <replaceable>recipe</replaceable> | ||
| 1581 | </literallayout> | ||
| 1582 | If you run the <filename>devtool update-recipe</filename> | ||
| 1583 | without committing your changes, the command ignores the | ||
| 1584 | changes. | ||
| 1585 | </para> | ||
| 1586 | |||
| 1587 | <para> | ||
| 1588 | Often, you might want to apply customizations made to your | ||
| 1589 | software in your own layer rather than apply them to the | ||
| 1590 | original recipe. | ||
| 1591 | If so, you can use the | ||
| 1592 | <filename>-a</filename> or <filename>--append</filename> | ||
| 1593 | option with the <filename>devtool update-recipe</filename> | ||
| 1594 | command. | ||
| 1595 | These options allow you to specify the layer into which to | ||
| 1596 | write an append file: | ||
| 1597 | <literallayout class='monospaced'> | ||
| 1598 | $ devtool update-recipe <replaceable>recipe</replaceable> -a <replaceable>base-layer-directory</replaceable> | ||
| 1599 | </literallayout> | ||
| 1600 | The <filename>*.bbappend</filename> file is created at the | ||
| 1601 | appropriate path within the specified layer directory, which | ||
| 1602 | may or may not be in your <filename>bblayers.conf</filename> | ||
| 1603 | file. | ||
| 1604 | If an append file already exists, the command updates it | ||
| 1605 | appropriately. | ||
| 1606 | </para> | ||
| 1607 | </section> | ||
| 1608 | |||
| 1609 | <section id='devtool-upgrading-a-recipe'> | ||
| 1610 | <title>Upgrading a Recipe</title> | ||
| 1611 | |||
| 1612 | <para> | ||
| 1613 | Use the <filename>devtool upgrade</filename> command | ||
| 1614 | to upgrade an existing recipe to a new upstream version. | ||
| 1615 | The command puts the upgraded recipe file into the | ||
| 1616 | workspace along with any associated files, and extracts | ||
| 1617 | the source tree to a specified location should patches | ||
| 1618 | need rebased or added to as a result of the upgrade. | ||
| 1619 | </para> | ||
| 1620 | |||
| 1621 | <para> | ||
| 1622 | When you use the <filename>devtool upgrade</filename> command, | ||
| 1623 | you must supply the root name of the recipe (i.e. no version, | ||
| 1624 | paths, or extensions), and you must supply the directory | ||
| 1625 | to which you want the source extracted. | ||
| 1626 | Additional command options let you control things such as | ||
| 1627 | the version number to which you want to upgrade (i.e. the | ||
| 1628 | <ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>), | ||
| 1629 | the source revision to which you want to upgrade (i.e. the | ||
| 1630 | <ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>, | ||
| 1631 | whether or not to apply patches, and so forth. | ||
| 1632 | </para> | ||
| 1633 | </section> | ||
| 1634 | |||
| 1635 | <section id='devtool-resetting-a-recipe'> | ||
| 1636 | <title>Resetting a Recipe</title> | ||
| 1637 | |||
| 1638 | <para> | ||
| 1639 | Use the <filename>devtool reset</filename> command to remove a | ||
| 1640 | recipe and its configuration (e.g. the corresponding | ||
| 1641 | <filename>.bbappend</filename> file) from the workspace layer. | ||
| 1642 | Realize that this command deletes the recipe and the | ||
| 1643 | append file. | ||
| 1644 | The command does not physically move them for you. | ||
| 1645 | Consequently, you must be sure to physically relocate your | ||
| 1646 | updated recipe and the append file outside of the workspace | ||
| 1647 | layer before running the <filename>devtool reset</filename> | ||
| 1648 | command. | ||
| 1649 | </para> | ||
| 1650 | |||
| 1651 | <para> | ||
| 1652 | If the <filename>devtool reset</filename> command detects that | ||
| 1653 | the recipe or the append files have been modified, the | ||
| 1654 | command preserves the modified files in a separate "attic" | ||
| 1655 | subdirectory under the workspace layer. | ||
| 1656 | </para> | ||
| 1657 | |||
| 1658 | <para> | ||
| 1659 | Here is an example that resets the workspace directory that | ||
| 1660 | contains the <filename>mtr</filename> recipe: | ||
| 1661 | <literallayout class='monospaced'> | ||
| 1662 | $ devtool reset mtr | ||
| 1663 | NOTE: Cleaning sysroot for recipe mtr... | ||
| 1664 | NOTE: Leaving source tree /home/scottrif/poky/build/workspace/sources/mtr as-is; if you no | ||
| 1665 | longer need it then please delete it manually | ||
| 1666 | $ | ||
| 1667 | </literallayout> | ||
| 1668 | </para> | ||
| 1669 | </section> | ||
| 1670 | |||
| 1671 | <section id='devtool-building-your-recipe'> | ||
| 1672 | <title>Building Your Recipe</title> | ||
| 1673 | |||
| 1674 | <para> | ||
| 1675 | Use the <filename>devtool build</filename> command to cause the | ||
| 1676 | OpenEmbedded build system to build your recipe. | ||
| 1677 | The <filename>devtool build</filename> command is equivalent to | ||
| 1678 | <filename>bitbake -c populate_sysroot</filename>. | ||
| 1679 | </para> | ||
| 1680 | |||
| 1681 | <para> | ||
| 1682 | When you use the <filename>devtool build</filename> command, | ||
| 1683 | you must supply the root name of the recipe (i.e. no version, | ||
| 1684 | paths, or extensions). | ||
| 1685 | You can use either the "-s" or the "--disable-parallel-make" | ||
| 1686 | option to disable parallel makes during the build. | ||
| 1687 | Here is an example: | ||
| 1688 | <literallayout class='monospaced'> | ||
| 1689 | $ devtool build <replaceable>recipe</replaceable> | ||
| 1690 | </literallayout> | ||
| 1691 | </para> | ||
| 1692 | </section> | ||
| 1693 | |||
| 1694 | <section id='devtool-building-your-image'> | ||
| 1695 | <title>Building Your Image</title> | ||
| 1696 | |||
| 1697 | <para> | ||
| 1698 | Use the <filename>devtool build-image</filename> command | ||
| 1699 | to build an image, extending it to include packages from | ||
| 1700 | recipes in the workspace. | ||
| 1701 | Using this command is useful when you want an image that | ||
| 1702 | ready for immediate deployment onto a device for testing. | ||
| 1703 | For proper integration into a final image, you need to | ||
| 1704 | edit your custom image recipe appropriately. | ||
| 1705 | </para> | ||
| 1706 | |||
| 1707 | <para> | ||
| 1708 | When you use the <filename>devtool build-image</filename> | ||
| 1709 | command, you must supply the name of the image. | ||
| 1710 | This command has no command line options: | ||
| 1711 | <literallayout class='monospaced'> | ||
| 1712 | $ devtool build-image <replaceable>image</replaceable> | ||
| 1713 | </literallayout> | ||
| 1714 | </para> | ||
| 1715 | </section> | ||
| 1716 | |||
| 1717 | <section id='devtool-deploying-your-software-on-the-target-machine'> | ||
| 1718 | <title>Deploying Your Software on the Target Machine</title> | ||
| 1719 | |||
| 1720 | <para> | ||
| 1721 | Use the <filename>devtool deploy-target</filename> command to | ||
| 1722 | deploy the recipe's build output to the live target machine: | ||
| 1723 | <literallayout class='monospaced'> | ||
| 1724 | $ devtool deploy-target <replaceable>recipe</replaceable> <replaceable>target</replaceable> | ||
| 1725 | </literallayout> | ||
| 1726 | The <replaceable>target</replaceable> is the address of the | ||
| 1727 | target machine, which must be running an SSH server (i.e. | ||
| 1728 | <filename>user@hostname[:destdir]</filename>). | ||
| 1729 | </para> | ||
| 1730 | |||
| 1731 | <para> | ||
| 1732 | This command deploys all files installed during the | ||
| 1733 | <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-install'><filename>do_install</filename></ulink> | ||
| 1734 | task. | ||
| 1735 | Furthermore, you do not need to have package management enabled | ||
| 1736 | within the target machine. | ||
| 1737 | If you do, the package manager is bypassed. | ||
| 1738 | <note><title>Notes</title> | ||
| 1739 | <para> | ||
| 1740 | The <filename>deploy-target</filename> | ||
| 1741 | functionality is for development only. | ||
| 1742 | You should never use it to update an image that will be | ||
| 1743 | used in production. | ||
| 1744 | </para> | ||
| 1745 | </note> | ||
| 1746 | </para> | ||
| 1747 | </section> | ||
| 1748 | |||
| 1749 | <section id='devtool-removing-your-software-from-the-target-machine'> | ||
| 1750 | <title>Removing Your Software from the Target Machine</title> | ||
| 1751 | |||
| 1752 | <para> | ||
| 1753 | Use the <filename>devtool undeploy-target</filename> command to | ||
| 1754 | remove deployed build output from the target machine. | ||
| 1755 | For the <filename>devtool undeploy-target</filename> command to | ||
| 1756 | work, you must have previously used the | ||
| 1757 | <link linkend='devtool-deploying-your-software-on-the-target-machine'><filename>devtool deploy-target</filename></link> | ||
| 1758 | command. | ||
| 1759 | <literallayout class='monospaced'> | ||
| 1760 | $ devtool undeploy-target <replaceable>recipe</replaceable> <replaceable>target</replaceable> | ||
| 1761 | </literallayout> | ||
| 1762 | The <replaceable>target</replaceable> is the address of the | ||
| 1763 | target machine, which must be running an SSH server (i.e. | ||
| 1764 | <filename>user@hostname</filename>). | ||
| 1765 | </para> | ||
| 1766 | </section> | ||
| 1767 | |||
| 1768 | <section id='devtool-creating-the-workspace'> | ||
| 1769 | <title>Creating the Workspace Layer in an Alternative Location</title> | ||
| 1770 | |||
| 1771 | <para> | ||
| 1772 | Use the <filename>devtool create-workspace</filename> command to | ||
| 1773 | create a new workspace layer in your | ||
| 1774 | <link linkend='build-directory'>Build Directory</link>. | ||
| 1775 | When you create a new workspace layer, it is populated with the | ||
| 1776 | <filename>README</filename> file and the | ||
| 1777 | <filename>conf</filename> directory only. | ||
| 1778 | </para> | ||
| 1779 | |||
| 1780 | <para> | ||
| 1781 | The following example creates a new workspace layer in your | ||
| 1782 | current working and by default names the workspace layer | ||
| 1783 | "workspace": | ||
| 1784 | <literallayout class='monospaced'> | ||
| 1785 | $ devtool create-workspace | ||
| 1786 | </literallayout> | ||
| 1787 | </para> | ||
| 1788 | |||
| 1789 | <para> | ||
| 1790 | You can create a workspace layer anywhere by supplying | ||
| 1791 | a pathname with the command. | ||
| 1792 | The following command creates a new workspace layer named | ||
| 1793 | "new-workspace": | ||
| 1794 | <literallayout class='monospaced'> | ||
| 1795 | $ devtool create-workspace /home/scottrif/new-workspace | ||
| 1796 | </literallayout> | ||
| 1797 | </para> | ||
| 1798 | </section> | ||
| 1799 | |||
| 1800 | <section id='devtool-get-the-status-of-the-recipes-in-your-workspace'> | ||
| 1801 | <title>Get the Status of the Recipes in Your Workspace</title> | ||
| 1802 | |||
| 1803 | <para> | ||
| 1804 | Use the <filename>devtool status</filename> command to | ||
| 1805 | list the recipes currently in your workspace. | ||
| 1806 | Information includes the paths to their respective | ||
| 1807 | external source trees. | ||
| 1808 | </para> | ||
| 1809 | |||
| 1810 | <para> | ||
| 1811 | The <filename>devtool status</filename> command has no | ||
| 1812 | command-line options: | ||
| 1813 | <literallayout class='monospaced'> | ||
| 1814 | devtool status | ||
| 1815 | </literallayout> | ||
| 1816 | Following is sample output after using | ||
| 1817 | <link linkend='devtool-adding-a-new-recipe-to-the-workspace'><filename>devtool add</filename></link> | ||
| 1818 | to create and add the <filename>mtr_0.86.bb</filename> recipe | ||
| 1819 | to the <filename>workspace</filename> directory: | ||
| 1820 | <literallayout class='monospaced'> | ||
| 1821 | $ devtool status | ||
| 1822 | mtr: /home/scottrif/poky/build/workspace/sources/mtr (/home/scottrif/poky/build/workspace/recipes/mtr/mtr_0.86.bb) | ||
| 1823 | $ | ||
| 1824 | </literallayout> | ||
| 1825 | </para> | ||
| 1826 | </section> | ||
| 1827 | |||
| 1828 | <section id='devtool-search-for-available-target-recipes'> | ||
| 1829 | <title>Search for Available Target Recipes</title> | ||
| 1830 | |||
| 1831 | <para> | ||
| 1832 | Use the <filename>devtool search</filename> command to | ||
| 1833 | search for available target recipes. | ||
| 1834 | The command matches the recipe name, package name, | ||
| 1835 | description, and installed files. | ||
| 1836 | The command displays the recipe name as a result of a | ||
| 1837 | match. | ||
| 1838 | </para> | ||
| 1839 | |||
| 1840 | <para> | ||
| 1841 | When you use the <filename>devtool search</filename> command, | ||
| 1842 | you must supply a <replaceable>keyword</replaceable>. | ||
| 1843 | The command uses the <replaceable>keyword</replaceable> when | ||
| 1844 | searching for a match. | ||
| 1845 | </para> | ||
| 1846 | </section> | ||
| 1847 | </section> | ||
| 1848 | |||
| 1849 | <section id="using-a-quilt-workflow"> | 1268 | <section id="using-a-quilt-workflow"> |
| 1850 | <title>Using Quilt in Your Workflow</title> | 1269 | <title>Using Quilt in Your Workflow</title> |
| 1851 | 1270 | ||
