diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-start.rst')
-rw-r--r-- | documentation/dev-manual/dev-manual-start.rst | 325 |
1 files changed, 196 insertions, 129 deletions
diff --git a/documentation/dev-manual/dev-manual-start.rst b/documentation/dev-manual/dev-manual-start.rst index b935f7b63e..536d5a9cd9 100644 --- a/documentation/dev-manual/dev-manual-start.rst +++ b/documentation/dev-manual/dev-manual-start.rst | |||
@@ -5,9 +5,9 @@ Setting Up to Use the Yocto Project | |||
5 | *********************************** | 5 | *********************************** |
6 | 6 | ||
7 | This chapter provides guidance on how to prepare to use the Yocto | 7 | This chapter provides guidance on how to prepare to use the Yocto |
8 | Project. You can learn about creating a team environment that develops | 8 | Project. You can learn about creating a team environment to develop |
9 | using the Yocto Project, how to set up a `build | 9 | using the Yocto Project, how to set up a :ref:`build |
10 | host <&YOCTO_DOCS_REF_URL;#hardware-build-system-term>`__, how to locate | 10 | host <dev-manual/dev-manual-start:preparing the build host>`, how to locate |
11 | Yocto Project source repositories, and how to create local Git | 11 | Yocto Project source repositories, and how to create local Git |
12 | repositories. | 12 | repositories. |
13 | 13 | ||
@@ -79,8 +79,9 @@ particular working environment and set of practices. | |||
79 | configuration files, classes, and so forth) and any software you are | 79 | configuration files, classes, and so forth) and any software you are |
80 | developing under the control of an SCM system that is compatible | 80 | developing under the control of an SCM system that is compatible |
81 | with the OpenEmbedded build system is advisable. Of all of the SCMs | 81 | with the OpenEmbedded build system is advisable. Of all of the SCMs |
82 | supported by BitBake, the Yocto Project team strongly recommends | 82 | supported by BitBake, the Yocto Project team strongly recommends using |
83 | using `Git <&YOCTO_DOCS_OM_URL;#git>`__. Git is a distributed system | 83 | :ref:`overview-manual/overview-manual-development-environment:git`. |
84 | Git is a distributed system | ||
84 | that is easy to back up, allows you to work remotely, and then | 85 | that is easy to back up, allows you to work remotely, and then |
85 | connects back to the infrastructure. | 86 | connects back to the infrastructure. |
86 | 87 | ||
@@ -171,8 +172,8 @@ particular working environment and set of practices. | |||
171 | 172 | ||
172 | - Highlights when commits break the build. | 173 | - Highlights when commits break the build. |
173 | 174 | ||
174 | - Populates an `sstate | 175 | - Populates an :ref:`sstate |
175 | cache <&YOCTO_DOCS_OM_URL;#shared-state-cache>`__ from which | 176 | cache <overview-manual/overview-manual-concepts:shared state cache>` from which |
176 | developers can pull rather than requiring local builds. | 177 | developers can pull rather than requiring local builds. |
177 | 178 | ||
178 | - Allows commit hook triggers, which trigger builds when commits | 179 | - Allows commit hook triggers, which trigger builds when commits |
@@ -226,20 +227,17 @@ particular working environment and set of practices. | |||
226 | some best practices exist within the Yocto Project development | 227 | some best practices exist within the Yocto Project development |
227 | environment. Consider the following: | 228 | environment. Consider the following: |
228 | 229 | ||
229 | - Use `Git <&YOCTO_DOCS_OM_URL;#git>`__ as the source control | 230 | - Use :ref:`overview-manual/overview-manual-development-environment:git` as the source control |
230 | system. | 231 | system. |
231 | 232 | ||
232 | - Maintain your Metadata in layers that make sense for your | 233 | - Maintain your Metadata in layers that make sense for your |
233 | situation. See the "`The Yocto Project Layer | 234 | situation. See the ":ref:`overview-manual/overview-manual-yp-intro:the yocto project layer model`" |
234 | Model <&YOCTO_DOCS_OM_URL;#the-yocto-project-layer-model>`__" | ||
235 | section in the Yocto Project Overview and Concepts Manual and the | 235 | section in the Yocto Project Overview and Concepts Manual and the |
236 | "`Understanding and Creating | 236 | ":ref:`dev-manual/dev-manual-common-tasks:understanding and creating layers`" |
237 | Layers <#understanding-and-creating-layers>`__" section for more | 237 | section for more information on layers. |
238 | information on layers. | ||
239 | 238 | ||
240 | - Separate the project's Metadata and code by using separate Git | 239 | - Separate the project's Metadata and code by using separate Git |
241 | repositories. See the "`Yocto Project Source | 240 | repositories. See the ":ref:`overview-manual/overview-manual-development-environment:yocto project source repositories`" |
242 | Repositories <&YOCTO_DOCS_OM_URL;#yocto-project-repositories>`__" | ||
243 | section in the Yocto Project Overview and Concepts Manual for | 241 | section in the Yocto Project Overview and Concepts Manual for |
244 | information on these repositories. See the "`Locating Yocto | 242 | information on these repositories. See the "`Locating Yocto |
245 | Project Source Files <#locating-yocto-project-source-files>`__" | 243 | Project Source Files <#locating-yocto-project-source-files>`__" |
@@ -258,15 +256,16 @@ particular working environment and set of practices. | |||
258 | - The Yocto Project community encourages you to send patches to the | 256 | - The Yocto Project community encourages you to send patches to the |
259 | project to fix bugs or add features. If you do submit patches, | 257 | project to fix bugs or add features. If you do submit patches, |
260 | follow the project commit guidelines for writing good commit | 258 | follow the project commit guidelines for writing good commit |
261 | messages. See the "`Submitting a Change to the Yocto | 259 | messages. See the |
262 | Project <#how-to-submit-a-change>`__" section. | 260 | ":ref:`dev-manual/dev-manual-common-tasks:submitting a change to the yocto project`" |
261 | section. | ||
263 | 262 | ||
264 | - Send changes to the core sooner than later as others are likely | 263 | - Send changes to the core sooner than later as others are likely |
265 | to run into the same issues. For some guidance on mailing lists | 264 | to run into the same issues. For some guidance on mailing lists |
266 | to use, see the list in the "`Submitting a Change to the Yocto | 265 | to use, see the list in the |
267 | Project <#how-to-submit-a-change>`__" section. For a description | 266 | ":ref:`dev-manual/dev-manual-common-tasks:submitting a change to the yocto project`" |
268 | of the available mailing lists, see the "`Mailing | 267 | section. For a description |
269 | Lists <&YOCTO_DOCS_REF_URL;#resources-mailinglist>`__" section in | 268 | of the available mailing lists, see the ":ref:`resources-mailinglist`" section in |
270 | the Yocto Project Reference Manual. | 269 | the Yocto Project Reference Manual. |
271 | 270 | ||
272 | .. _dev-preparing-the-build-host: | 271 | .. _dev-preparing-the-build-host: |
@@ -275,7 +274,7 @@ Preparing the Build Host | |||
275 | ======================== | 274 | ======================== |
276 | 275 | ||
277 | This section provides procedures to set up a system to be used as your | 276 | This section provides procedures to set up a system to be used as your |
278 | `build host <&YOCTO_DOCS_REF_URL;#hardware-build-system-term>`__ for | 277 | :term:`Build Host` for |
279 | development using the Yocto Project. Your build host can be a native | 278 | development using the Yocto Project. Your build host can be a native |
280 | Linux machine (recommended), it can be a machine (Linux, Mac, or | 279 | Linux machine (recommended), it can be a machine (Linux, Mac, or |
281 | Windows) that uses `CROPS <https://github.com/crops/poky-container>`__, | 280 | Windows) that uses `CROPS <https://github.com/crops/poky-container>`__, |
@@ -297,15 +296,11 @@ are necessary depending on what you want to accomplish. See the | |||
297 | following references for information on how to prepare for Board Support | 296 | following references for information on how to prepare for Board Support |
298 | Package (BSP) development and kernel development: | 297 | Package (BSP) development and kernel development: |
299 | 298 | ||
300 | - *BSP Development:* See the "`Preparing Your Build Host to Work With | 299 | - *BSP Development:* See the ":ref:`bsp-guide/bsp:preparing your build host to work with bsp layers`" |
301 | BSP | ||
302 | Layers <&YOCTO_DOCS_BSP_URL;#preparing-your-build-host-to-work-with-bsp-layers>`__" | ||
303 | section in the Yocto Project Board Support Package (BSP) Developer's | 300 | section in the Yocto Project Board Support Package (BSP) Developer's |
304 | Guide. | 301 | Guide. |
305 | 302 | ||
306 | - *Kernel Development:* See the "`Preparing the Build Host to Work on | 303 | - *Kernel Development:* See the ":ref:`kernel-dev/kernel-dev-common:preparing the build host to work on the kernel`" |
307 | the | ||
308 | Kernel <&YOCTO_DOCS_KERNEL_DEV_URL;#preparing-the-build-host-to-work-on-the-kernel>`__" | ||
309 | section in the Yocto Project Linux Kernel Development Manual. | 304 | section in the Yocto Project Linux Kernel Development Manual. |
310 | 305 | ||
311 | Setting Up a Native Linux Host | 306 | Setting Up a Native Linux Host |
@@ -319,8 +314,8 @@ Project Build Host: | |||
319 | a recent release of Fedora, openSUSE, Debian, Ubuntu, RHEL or CentOS | 314 | a recent release of Fedora, openSUSE, Debian, Ubuntu, RHEL or CentOS |
320 | as these releases are frequently tested against the Yocto Project and | 315 | as these releases are frequently tested against the Yocto Project and |
321 | officially supported. For a list of the distributions under | 316 | officially supported. For a list of the distributions under |
322 | validation and their status, see the "`Supported Linux | 317 | validation and their status, see the ":ref:`Supported Linux |
323 | Distributions <&YOCTO_DOCS_REF_URL;#detailed-supported-distros>`__" | 318 | Distributions <detailed-supported-distros>`" |
324 | section in the Yocto Project Reference Manual and the wiki page at | 319 | section in the Yocto Project Reference Manual and the wiki page at |
325 | :yocto_wiki:`Distribution Support </wiki/Distribution_Support>`. | 320 | :yocto_wiki:`Distribution Support </wiki/Distribution_Support>`. |
326 | 321 | ||
@@ -341,9 +336,8 @@ Project Build Host: | |||
341 | 336 | ||
342 | If your build host does not meet any of these three listed version | 337 | If your build host does not meet any of these three listed version |
343 | requirements, you can take steps to prepare the system so that you | 338 | requirements, you can take steps to prepare the system so that you |
344 | can still use the Yocto Project. See the "`Required Git, tar, Python | 339 | can still use the Yocto Project. See the |
345 | and gcc | 340 | ":ref:`ref-manual/ref-system-requirements:required git, tar, python and gcc versions`" |
346 | Versions <&YOCTO_DOCS_REF_URL;#required-git-tar-python-and-gcc-versions>`__" | ||
347 | section in the Yocto Project Reference Manual for information. | 341 | section in the Yocto Project Reference Manual for information. |
348 | 342 | ||
349 | 4. *Install Development Host Packages:* Required development host | 343 | 4. *Install Development Host Packages:* Required development host |
@@ -351,23 +345,19 @@ Project Build Host: | |||
351 | with the Yocto Project. Collectively, the number of required packages | 345 | with the Yocto Project. Collectively, the number of required packages |
352 | is large if you want to be able to cover all cases. | 346 | is large if you want to be able to cover all cases. |
353 | 347 | ||
354 | For lists of required packages for all scenarios, see the "`Required | 348 | For lists of required packages for all scenarios, see the |
355 | Packages for the Build | 349 | ":ref:`ref-manual/ref-system-requirements:required packages for the build host`" |
356 | Host <&YOCTO_DOCS_REF_URL;#required-packages-for-the-build-host>`__" | ||
357 | section in the Yocto Project Reference Manual. | 350 | section in the Yocto Project Reference Manual. |
358 | 351 | ||
359 | Once you have completed the previous steps, you are ready to continue | 352 | Once you have completed the previous steps, you are ready to continue |
360 | using a given development path on your native Linux machine. If you are | 353 | using a given development path on your native Linux machine. If you are |
361 | going to use BitBake, see the "`Cloning the ``poky`` | 354 | going to use BitBake, see the |
362 | Repository <#cloning-the-poky-repository>`__" section. If you are going | 355 | ":ref:`dev-manual/dev-manual-start:cloning the \`\`poky\`\` repository`" |
363 | to use the Extensible SDK, see the "`Using the Extensible | 356 | section. If you are going |
364 | SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__" Chapter in the Yocto | 357 | to use the Extensible SDK, see the ":doc:`../sdk-manual/sdk-extensible`" Chapter in the Yocto |
365 | Project Application Development and the Extensible Software Development | 358 | Project Application Development and the Extensible Software Development |
366 | Kit (eSDK) manual. If you want to work on the kernel, see the `Yocto | 359 | Kit (eSDK) manual. If you want to work on the kernel, see the :doc:`../kernel-dev/kernel-dev`. If you are going to use |
367 | Project Linux Kernel Development | 360 | Toaster, see the ":doc:`../toaster-manual/toaster-manual-setup-and-use`" |
368 | Manual <&YOCTO_DOCS_KERNEL_DEV_URL;>`__. If you are going to use | ||
369 | Toaster, see the "`Setting Up and Using | ||
370 | Toaster <&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use>`__" | ||
371 | section in the Toaster User Manual. | 361 | section in the Toaster User Manual. |
372 | 362 | ||
373 | .. _setting-up-to-use-crops: | 363 | .. _setting-up-to-use-crops: |
@@ -465,12 +455,11 @@ Once you have a container set up, everything is in place to develop just | |||
465 | as if you were running on a native Linux machine. If you are going to | 455 | as if you were running on a native Linux machine. If you are going to |
466 | use the Poky container, see the "`Cloning the ``poky`` | 456 | use the Poky container, see the "`Cloning the ``poky`` |
467 | Repository <#cloning-the-poky-repository>`__" section. If you are going | 457 | Repository <#cloning-the-poky-repository>`__" section. If you are going |
468 | to use the Extensible SDK container, see the "`Using the Extensible | 458 | to use the Extensible SDK container, see the |
469 | SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__" Chapter in the Yocto | 459 | ":doc:`../sdk-manual/sdk-extensible`" Chapter in the Yocto |
470 | Project Application Development and the Extensible Software Development | 460 | Project Application Development and the Extensible Software Development |
471 | Kit (eSDK) manual. If you are going to use the Toaster container, see | 461 | Kit (eSDK) manual. If you are going to use the Toaster container, see |
472 | the "`Setting Up and Using | 462 | the ":doc:`../toaster-manual/toaster-manual-setup-and-use`" |
473 | Toaster <&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use>`__" | ||
474 | section in the Toaster User Manual. | 463 | section in the Toaster User Manual. |
475 | 464 | ||
476 | .. _setting-up-to-use-wsl: | 465 | .. _setting-up-to-use-wsl: |
@@ -490,8 +479,14 @@ your Yocto Project build host: | |||
490 | 1. *Make sure your Windows 10 machine is capable of running WSLv2:* | 479 | 1. *Make sure your Windows 10 machine is capable of running WSLv2:* |
491 | WSLv2 is only available for Windows 10 builds > 18917. To check which | 480 | WSLv2 is only available for Windows 10 builds > 18917. To check which |
492 | build version you are running, you may open a command prompt on | 481 | build version you are running, you may open a command prompt on |
493 | Windows and execute the command "ver". C:\Users\myuser> ver Microsoft | 482 | Windows and execute the command "ver". |
494 | Windows [Version 10.0.19041.153] If your build is capable of running | 483 | :: |
484 | |||
485 | C:\Users\myuser> ver | ||
486 | |||
487 | Microsoft Windows [Version 10.0.19041.153] | ||
488 | |||
489 | If your build is capable of running | ||
495 | WSLv2 you may continue, for more information on this subject or | 490 | WSLv2 you may continue, for more information on this subject or |
496 | instructions on how to upgrade to WSLv2 visit `Windows 10 | 491 | instructions on how to upgrade to WSLv2 visit `Windows 10 |
497 | WSLv2 <https://docs.microsoft.com/en-us/windows/wsl/wsl2-install>`__ | 492 | WSLv2 <https://docs.microsoft.com/en-us/windows/wsl/wsl2-install>`__ |
@@ -507,8 +502,14 @@ your Yocto Project build host: | |||
507 | distribution. | 502 | distribution. |
508 | 503 | ||
509 | 3. *Check your Linux distribution is using WSLv2:* Open a Windows | 504 | 3. *Check your Linux distribution is using WSLv2:* Open a Windows |
510 | PowerShell and run: C:\WINDOWS\system32> wsl -l -v NAME STATE VERSION | 505 | PowerShell and run: |
511 | \*Ubuntu Running 2 Note the version column which says the WSL version | 506 | :: |
507 | |||
508 | C:\WINDOWS\system32> wsl -l -v | ||
509 | NAME STATE VERSION | ||
510 | *Ubuntu Running 2 | ||
511 | |||
512 | Note the version column which says the WSL version | ||
512 | being used by your distribution, on compatible systems, this can be | 513 | being used by your distribution, on compatible systems, this can be |
513 | changed back at any point in time. | 514 | changed back at any point in time. |
514 | 515 | ||
@@ -529,25 +530,35 @@ your Yocto Project build host: | |||
529 | 530 | ||
530 | 1. *Find the location of your VHDX file:* First you need to find the | 531 | 1. *Find the location of your VHDX file:* First you need to find the |
531 | distro app package directory, to achieve this open a Windows | 532 | distro app package directory, to achieve this open a Windows |
532 | Powershell as Administrator and run: C:\WINDOWS\system32> | 533 | Powershell as Administrator and run: |
533 | Get-AppxPackage -Name "*Ubuntu*" \| Select PackageFamilyName | 534 | :: |
534 | PackageFamilyName ----------------- | 535 | |
535 | CanonicalGroupLimited.UbuntuonWindows_79abcdefgh You should now | 536 | C:\WINDOWS\system32> Get-AppxPackage -Name "*Ubuntu*" | Select PackageFamilyName |
537 | PackageFamilyName | ||
538 | ----------------- | ||
539 | CanonicalGroupLimited.UbuntuonWindows_79abcdefgh | ||
540 | |||
541 | |||
542 | You should now | ||
536 | replace the PackageFamilyName and your user on the following path | 543 | replace the PackageFamilyName and your user on the following path |
537 | to find your VHDX file: | 544 | to find your VHDX file: |
538 | ``C:\Users\user\AppData\Local\Packages\PackageFamilyName\LocalState\`` | 545 | :: |
539 | For example: ls | 546 | |
540 | C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\\ | 547 | ls C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ |
541 | Mode LastWriteTime Length Name -a---- 3/14/2020 9:52 PM | 548 | Mode LastWriteTime Length Name |
542 | 57418973184 ext4.vhdx Your VHDX file path is: | 549 | -a---- 3/14/2020 9:52 PM 57418973184 ext4.vhdx |
550 | |||
551 | Your VHDX file path is: | ||
543 | ``C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx`` | 552 | ``C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx`` |
544 | 553 | ||
545 | 2. *Optimize your VHDX file:* Open a Windows Powershell as | 554 | 2. *Optimize your VHDX file:* Open a Windows Powershell as |
546 | Administrator to optimize your VHDX file, shutting down WSL first: | 555 | Administrator to optimize your VHDX file, shutting down WSL first: |
547 | C:\WINDOWS\system32> wsl --shutdown C:\WINDOWS\system32> | 556 | :: |
548 | optimize-vhd -Path | 557 | |
549 | C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx | 558 | C:\WINDOWS\system32> wsl --shutdown |
550 | -Mode full A progress bar should be shown while optimizing the | 559 | C:\WINDOWS\system32> optimize-vhd -Path C:\Users\myuser\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79abcdefgh\LocalState\ext4.vhdx -Mode full |
560 | |||
561 | A progress bar should be shown while optimizing the | ||
551 | VHDX file, and storage should now be reflected correctly on the | 562 | VHDX file, and storage should now be reflected correctly on the |
552 | Windows Explorer. | 563 | Windows Explorer. |
553 | 564 | ||
@@ -565,12 +576,10 @@ your Yocto Project build host: | |||
565 | 576 | ||
566 | Once you have WSLv2 set up, everything is in place to develop just as if | 577 | Once you have WSLv2 set up, everything is in place to develop just as if |
567 | you were running on a native Linux machine. If you are going to use the | 578 | you were running on a native Linux machine. If you are going to use the |
568 | Extensible SDK container, see the "`Using the Extensible | 579 | Extensible SDK container, see the ":doc:`../sdk-manual/sdk-extensible`" Chapter in the Yocto |
569 | SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__" Chapter in the Yocto | ||
570 | Project Application Development and the Extensible Software Development | 580 | Project Application Development and the Extensible Software Development |
571 | Kit (eSDK) manual. If you are going to use the Toaster container, see | 581 | Kit (eSDK) manual. If you are going to use the Toaster container, see |
572 | the "`Setting Up and Using | 582 | the ":doc:`../toaster-manual/toaster-manual-setup-and-use`" |
573 | Toaster <&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use>`__" | ||
574 | section in the Toaster User Manual. | 583 | section in the Toaster User Manual. |
575 | 584 | ||
576 | Locating Yocto Project Source Files | 585 | Locating Yocto Project Source Files |
@@ -582,19 +591,17 @@ files you'll need to work with the Yocto Project. | |||
582 | .. note:: | 591 | .. note:: |
583 | 592 | ||
584 | - For concepts and introductory information about Git as it is used | 593 | - For concepts and introductory information about Git as it is used |
585 | in the Yocto Project, see the "`Git <&YOCTO_DOCS_OM_URL;#git>`__" | 594 | in the Yocto Project, see the ":ref:`overview-manual/overview-manual-development-environment:git`" |
586 | section in the Yocto Project Overview and Concepts Manual. | 595 | section in the Yocto Project Overview and Concepts Manual. |
587 | 596 | ||
588 | - For concepts on Yocto Project source repositories, see the "`Yocto | 597 | - For concepts on Yocto Project source repositories, see the |
589 | Project Source | 598 | ":ref:`overview-manual/overview-manual-development-environment:yocto project source repositories`" |
590 | Repositories <&YOCTO_DOCS_OM_URL;#yocto-project-repositories>`__" | ||
591 | section in the Yocto Project Overview and Concepts Manual." | 599 | section in the Yocto Project Overview and Concepts Manual." |
592 | 600 | ||
593 | Accessing Source Repositories | 601 | Accessing Source Repositories |
594 | ----------------------------- | 602 | ----------------------------- |
595 | 603 | ||
596 | Working from a copy of the upstream Yocto Project `Source | 604 | Working from a copy of the upstream :ref:`dev-manual/dev-manual-start:accessing source repositories` is the |
597 | Repositories <&YOCTO_DOCS_OM_URL;#source-repositories>`__ is the | ||
598 | preferred method for obtaining and using a Yocto Project release. You | 605 | preferred method for obtaining and using a Yocto Project release. You |
599 | can view the Yocto Project Source Repositories at | 606 | can view the Yocto Project Source Repositories at |
600 | :yocto_git:`/`. In particular, you can find the ``poky`` | 607 | :yocto_git:`/`. In particular, you can find the ``poky`` |
@@ -611,8 +618,7 @@ Use the following procedure to locate the latest upstream copy of the | |||
611 | interested (e.g. ``poky``). | 618 | interested (e.g. ``poky``). |
612 | 619 | ||
613 | 3. *Find the URL Used to Clone the Repository:* At the bottom of the | 620 | 3. *Find the URL Used to Clone the Repository:* At the bottom of the |
614 | page, note the URL used to | 621 | page, note the URL used to clone that repository |
615 | `clone <&YOCTO_DOCS_OM_URL;#git-commands-clone>`__ that repository | ||
616 | (e.g. :yocto_git:`/git/poky`). | 622 | (e.g. :yocto_git:`/git/poky`). |
617 | 623 | ||
618 | .. note:: | 624 | .. note:: |
@@ -658,9 +664,9 @@ Follow these steps to locate and download a particular tarball: | |||
658 | are interested (e.g. ``yocto``). | 664 | are interested (e.g. ``yocto``). |
659 | 665 | ||
660 | 3. *Find the Tarball:* Drill down to find the associated tarball. For | 666 | 3. *Find the Tarball:* Drill down to find the associated tarball. For |
661 | example, click on ``yocto-DISTRO`` to view files associated with the | 667 | example, click on ``yocto-&DISTRO;`` to view files associated with the |
662 | Yocto Project DISTRO release (e.g. | 668 | Yocto Project &DISTRO; release (e.g. |
663 | ``poky-DISTRO_NAME_NO_CAP-POKYVERSION.tar.bz2``, which is the | 669 | ``&YOCTO_POKY;.tar.bz2``, which is the |
664 | released Poky tarball). | 670 | released Poky tarball). |
665 | 671 | ||
666 | 4. *Download the Tarball:* Click the tarball to download and save a | 672 | 4. *Download the Tarball:* Click the tarball to download and save a |
@@ -691,8 +697,7 @@ Releases <#accessing-index-of-releases>`__" section. | |||
691 | 697 | ||
692 | 3. *Select a Yocto Project Release:* Use the menu next to "RELEASE" to | 698 | 3. *Select a Yocto Project Release:* Use the menu next to "RELEASE" to |
693 | display and choose a recent or past supported Yocto Project release | 699 | display and choose a recent or past supported Yocto Project release |
694 | (e.g. DISTRO_NAME_NO_CAP, DISTRO_NAME_NO_CAP_MINUS_ONE, and so | 700 | (e.g. &DISTRO_NAME_NO_CAP;, &DISTRO_NAME_NO_CAP_MINUS_ONE;, and so forth). |
695 | forth). | ||
696 | 701 | ||
697 | .. note:: | 702 | .. note:: |
698 | 703 | ||
@@ -711,7 +716,7 @@ Accessing Nightly Builds | |||
711 | ------------------------ | 716 | ------------------------ |
712 | 717 | ||
713 | Yocto Project maintains an area for nightly builds that contains tarball | 718 | Yocto Project maintains an area for nightly builds that contains tarball |
714 | releases at ` <&YOCTO_AB_NIGHTLY_URL;>`__. These builds include Yocto | 719 | releases at https://autobuilder.yocto.io//pub/nightly/. These builds include Yocto |
715 | Project releases ("poky"), toolchains, and builds for supported | 720 | Project releases ("poky"), toolchains, and builds for supported |
716 | machines. | 721 | machines. |
717 | 722 | ||
@@ -719,7 +724,7 @@ Should you ever want to access a nightly build of a particular Yocto | |||
719 | Project component, use the following procedure: | 724 | Project component, use the following procedure: |
720 | 725 | ||
721 | 1. *Locate the Index of Nightly Builds:* Open a browser and go to | 726 | 1. *Locate the Index of Nightly Builds:* Open a browser and go to |
722 | ` <&YOCTO_AB_NIGHTLY_URL;>`__ to access the Nightly Builds. | 727 | https://autobuilder.yocto.io//pub/nightly/ to access the Nightly Builds. |
723 | 728 | ||
724 | 2. *Select a Date:* Click on the date in which you are interested. If | 729 | 2. *Select a Date:* Click on the date in which you are interested. If |
725 | you want the latest builds, use "CURRENT". | 730 | you want the latest builds, use "CURRENT". |
@@ -739,11 +744,10 @@ Cloning and Checking Out Branches | |||
739 | To use the Yocto Project for development, you need a release locally | 744 | To use the Yocto Project for development, you need a release locally |
740 | installed on your development system. This locally installed set of | 745 | installed on your development system. This locally installed set of |
741 | files is referred to as the :term:`Source Directory` | 746 | files is referred to as the :term:`Source Directory` |
742 | in the Yocto | 747 | in the Yocto Project documentation. |
743 | Project documentation. | ||
744 | 748 | ||
745 | The preferred method of creating your Source Directory is by using | 749 | The preferred method of creating your Source Directory is by using |
746 | `Git <&YOCTO_DOCS_OM_URL;#git>`__ to clone a local copy of the upstream | 750 | :ref:`overview-manual/overview-manual-development-environment:git` to clone a local copy of the upstream |
747 | ``poky`` repository. Working from a cloned copy of the upstream | 751 | ``poky`` repository. Working from a cloned copy of the upstream |
748 | repository allows you to contribute back into the Yocto Project or to | 752 | repository allows you to contribute back into the Yocto Project or to |
749 | simply work with the latest software on a development branch. Because | 753 | simply work with the latest software on a development branch. Because |
@@ -756,19 +760,26 @@ Cloning the ``poky`` Repository | |||
756 | ------------------------------- | 760 | ------------------------------- |
757 | 761 | ||
758 | Follow these steps to create a local version of the upstream | 762 | Follow these steps to create a local version of the upstream |
759 | ```poky`` <&YOCTO_DOCS_REF_URL;#poky>`__ Git repository. | 763 | :term:`Poky` Git repository. |
760 | 764 | ||
761 | 1. *Set Your Directory:* Change your working directory to where you want | 765 | 1. *Set Your Directory:* Change your working directory to where you want |
762 | to create your local copy of ``poky``. | 766 | to create your local copy of ``poky``. |
763 | 767 | ||
764 | 2. *Clone the Repository:* The following example command clones the | 768 | 2. *Clone the Repository:* The following example command clones the |
765 | ``poky`` repository and uses the default name "poky" for your local | 769 | ``poky`` repository and uses the default name "poky" for your local |
766 | repository: $ git clone git://git.yoctoproject.org/poky Cloning into | 770 | repository: |
767 | 'poky'... remote: Counting objects: 432160, done. remote: Compressing | 771 | :: |
768 | objects: 100% (102056/102056), done. remote: Total 432160 (delta | 772 | |
769 | 323116), reused 432037 (delta 323000) Receiving objects: 100% | 773 | $ git clone git://git.yoctoproject.org/poky |
770 | (432160/432160), 153.81 MiB \| 8.54 MiB/s, done. Resolving deltas: | 774 | Cloning into 'poky'... |
771 | 100% (323116/323116), done. Checking connectivity... done. Unless you | 775 | remote: Counting objects: 432160, done. |
776 | remote: Compressing objects: 100% (102056/102056), done. | ||
777 | remote: Total 432160 (delta 323116), reused 432037 (delta 323000) | ||
778 | Receiving objects: 100% (432160/432160), 153.81 MiB | 8.54 MiB/s, done. | ||
779 | Resolving deltas: 100% (323116/323116), done. | ||
780 | Checking connectivity... done. | ||
781 | |||
782 | Unless you | ||
772 | specify a specific development branch or tag name, Git clones the | 783 | specify a specific development branch or tag name, Git clones the |
773 | "master" branch, which results in a snapshot of the latest | 784 | "master" branch, which results in a snapshot of the latest |
774 | development changes for "master". For information on how to check out | 785 | development changes for "master". For information on how to check out |
@@ -779,13 +790,21 @@ Follow these steps to create a local version of the upstream | |||
779 | 790 | ||
780 | Once the local repository is created, you can change to that | 791 | Once the local repository is created, you can change to that |
781 | directory and check its status. Here, the single "master" branch | 792 | directory and check its status. Here, the single "master" branch |
782 | exists on your system and by default, it is checked out: $ cd ~/poky | 793 | exists on your system and by default, it is checked out: |
783 | $ git status On branch master Your branch is up-to-date with | 794 | :: |
784 | 'origin/master'. nothing to commit, working directory clean $ git | 795 | |
785 | branch \* master Your local repository of poky is identical to the | 796 | $ cd ~/poky |
797 | $ git status | ||
798 | On branch master | ||
799 | Your branch is up-to-date with 'origin/master'. | ||
800 | nothing to commit, working directory clean | ||
801 | $ git branch | ||
802 | * master | ||
803 | |||
804 | Your local repository of poky is identical to the | ||
786 | upstream poky repository at the time from which it was cloned. As you | 805 | upstream poky repository at the time from which it was cloned. As you |
787 | work with the local branch, you can periodically use the | 806 | work with the local branch, you can periodically use the |
788 | ``git pull DASHDASHrebase`` command to be sure you are up-to-date | 807 | ``git pull --rebase`` command to be sure you are up-to-date |
789 | with the upstream branch. | 808 | with the upstream branch. |
790 | 809 | ||
791 | Checking Out by Branch in Poky | 810 | Checking Out by Branch in Poky |
@@ -809,28 +828,48 @@ and then specifically check out that development branch. | |||
809 | copy of poky, see the "`Cloning the ``poky`` | 828 | copy of poky, see the "`Cloning the ``poky`` |
810 | Repository <#cloning-the-poky-repository>`__" section. | 829 | Repository <#cloning-the-poky-repository>`__" section. |
811 | 830 | ||
812 | 2. *Determine Existing Branch Names:* $ git branch -a \* master | 831 | 2. *Determine Existing Branch Names:* |
813 | remotes/origin/1.1_M1 remotes/origin/1.1_M2 remotes/origin/1.1_M3 | 832 | :: |
814 | remotes/origin/1.1_M4 remotes/origin/1.2_M1 remotes/origin/1.2_M2 | 833 | |
815 | remotes/origin/1.2_M3 . . . remotes/origin/thud | 834 | $ git branch -a |
816 | remotes/origin/thud-next remotes/origin/warrior | 835 | * master |
817 | remotes/origin/warrior-next remotes/origin/zeus | 836 | remotes/origin/1.1_M1 |
818 | remotes/origin/zeus-next ... and so on ... | 837 | remotes/origin/1.1_M2 |
838 | remotes/origin/1.1_M3 | ||
839 | remotes/origin/1.1_M4 | ||
840 | remotes/origin/1.2_M1 | ||
841 | remotes/origin/1.2_M2 | ||
842 | remotes/origin/1.2_M3 | ||
843 | . . . | ||
844 | remotes/origin/thud | ||
845 | remotes/origin/thud-next | ||
846 | remotes/origin/warrior | ||
847 | remotes/origin/warrior-next | ||
848 | remotes/origin/zeus | ||
849 | remotes/origin/zeus-next | ||
850 | ... and so on ... | ||
819 | 851 | ||
820 | 3. *Check out the Branch:* Check out the development branch in which you | 852 | 3. *Check out the Branch:* Check out the development branch in which you |
821 | want to work. For example, to access the files for the Yocto Project | 853 | want to work. For example, to access the files for the Yocto Project |
822 | DISTRO Release (DISTRO_NAME), use the following command: $ git | 854 | &DISTRO; Release (&DISTRO_NAME;), use the following command: |
823 | checkout -b DISTRO_NAME_NO_CAP origin/DISTRO_NAME_NO_CAP Branch | 855 | :: |
824 | DISTRO_NAME_NO_CAP set up to track remote branch DISTRO_NAME_NO_CAP | 856 | |
825 | from origin. Switched to a new branch 'DISTRO_NAME_NO_CAP' The | 857 | $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; |
826 | previous command checks out the "DISTRO_NAME_NO_CAP" development | 858 | Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin. |
859 | Switched to a new branch '&DISTRO_NAME;' | ||
860 | |||
861 | The previous command checks out the "&DISTRO_NAME;" development | ||
827 | branch and reports that the branch is tracking the upstream | 862 | branch and reports that the branch is tracking the upstream |
828 | "origin/DISTRO_NAME_NO_CAP" branch. | 863 | "origin/&DISTRO_NAME;" branch. |
829 | 864 | ||
830 | The following command displays the branches that are now part of your | 865 | The following command displays the branches that are now part of your |
831 | local poky repository. The asterisk character indicates the branch | 866 | local poky repository. The asterisk character indicates the branch |
832 | that is currently checked out for work: $ git branch master \* | 867 | that is currently checked out for work: |
833 | DISTRO_NAME_NO_CAP | 868 | :: |
869 | |||
870 | $ git branch | ||
871 | master * | ||
872 | &DISTRO_NAME; | ||
834 | 873 | ||
835 | .. _checkout-out-by-tag-in-poky: | 874 | .. _checkout-out-by-tag-in-poky: |
836 | 875 | ||
@@ -854,20 +893,48 @@ similar to checking out by branch name except you use tag names. | |||
854 | Repository <#cloning-the-poky-repository>`__" section. | 893 | Repository <#cloning-the-poky-repository>`__" section. |
855 | 894 | ||
856 | 2. *Fetch the Tag Names:* To checkout the branch based on a tag name, | 895 | 2. *Fetch the Tag Names:* To checkout the branch based on a tag name, |
857 | you need to fetch the upstream tags into your local repository: $ git | 896 | you need to fetch the upstream tags into your local repository: |
858 | fetch --tags $ | 897 | :: |
859 | 898 | ||
860 | 3. *List the Tag Names:* You can list the tag names now: $ git tag | 899 | $ git fetch --tags |
861 | 1.1_M1.final 1.1_M1.rc1 1.1_M1.rc2 1.1_M2.final 1.1_M2.rc1 . . . | 900 | $ |
862 | yocto-2.5 yocto-2.5.1 yocto-2.5.2 yocto-2.5.3 yocto-2.6 yocto-2.6.1 | 901 | |
863 | yocto-2.6.2 yocto-2.7 yocto_1.5_M5.rc8 | 902 | 3. *List the Tag Names:* You can list the tag names now: |
864 | 903 | :: | |
865 | 4. *Check out the Branch:* $ git checkout tags/DISTRO_REL_TAG -b | 904 | |
866 | my_yocto_DISTRO Switched to a new branch 'my_yocto_DISTRO' $ git | 905 | $ git tag |
867 | branch master \* my_yocto_DISTRO The previous command creates and | 906 | 1.1_M1.final |
868 | checks out a local branch named "my_yocto_DISTRO", which is based on | 907 | 1.1_M1.rc1 |
908 | 1.1_M1.rc2 | ||
909 | 1.1_M2.final | ||
910 | 1.1_M2.rc1 | ||
911 | . | ||
912 | . | ||
913 | . | ||
914 | yocto-2.5 | ||
915 | yocto-2.5.1 | ||
916 | yocto-2.5.2 | ||
917 | yocto-2.5.3 | ||
918 | yocto-2.6 | ||
919 | yocto-2.6.1 | ||
920 | yocto-2.6.2 | ||
921 | yocto-2.7 | ||
922 | yocto_1.5_M5.rc8 | ||
923 | |||
924 | |||
925 | 4. *Check out the Branch:* | ||
926 | :: | ||
927 | |||
928 | $ git checkout tags/yocto-&DISTRO; -b my_yocto_&DISTRO; | ||
929 | Switched to a new branch 'my_yocto_&DISTRO;' | ||
930 | $ git branch | ||
931 | master | ||
932 | * my_yocto_&DISTRO; | ||
933 | |||
934 | The previous command creates and | ||
935 | checks out a local branch named "my_yocto_&DISTRO;", which is based on | ||
869 | the commit in the upstream poky repository that has the same tag. In | 936 | the commit in the upstream poky repository that has the same tag. In |
870 | this example, the files you have available locally as a result of the | 937 | this example, the files you have available locally as a result of the |
871 | ``checkout`` command are a snapshot of the "DISTRO_NAME_NO_CAP" | 938 | ``checkout`` command are a snapshot of the "&DISTRO_NAME_NO_CAP;" |
872 | development branch at the point where Yocto Project DISTRO was | 939 | development branch at the point where Yocto Project &DISTRO; was |
873 | released. | 940 | released. |