summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual/dev-manual-start.rst
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-13 22:03:26 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-09-17 10:09:35 +0100
commit688e49bb5e6e61b5c0dbbe6b2c3bdf1c5a4bef8d (patch)
tree4c2141ae1261735f6ee2383ab016a602232b309e /documentation/dev-manual/dev-manual-start.rst
parent292598164a304a3da3288e6fb8963f13045d1e7f (diff)
downloadpoky-688e49bb5e6e61b5c0dbbe6b2c3bdf1c5a4bef8d.tar.gz
sphinx: dev-manual: Various URL, code block and other fixes to imported data
(From yocto-docs rev: 8e73d870e9dc2df416f5c5cf5b10ef552be0aa6d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual/dev-manual-start.rst')
-rw-r--r--documentation/dev-manual/dev-manual-start.rst325
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
7This chapter provides guidance on how to prepare to use the Yocto 7This chapter provides guidance on how to prepare to use the Yocto
8Project. You can learn about creating a team environment that develops 8Project. You can learn about creating a team environment to develop
9using the Yocto Project, how to set up a `build 9using the Yocto Project, how to set up a :ref:`build
10host <&YOCTO_DOCS_REF_URL;#hardware-build-system-term>`__, how to locate 10host <dev-manual/dev-manual-start:preparing the build host>`, how to locate
11Yocto Project source repositories, and how to create local Git 11Yocto Project source repositories, and how to create local Git
12repositories. 12repositories.
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
277This section provides procedures to set up a system to be used as your 276This 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
279development using the Yocto Project. Your build host can be a native 278development using the Yocto Project. Your build host can be a native
280Linux machine (recommended), it can be a machine (Linux, Mac, or 279Linux machine (recommended), it can be a machine (Linux, Mac, or
281Windows) that uses `CROPS <https://github.com/crops/poky-container>`__, 280Windows) that uses `CROPS <https://github.com/crops/poky-container>`__,
@@ -297,15 +296,11 @@ are necessary depending on what you want to accomplish. See the
297following references for information on how to prepare for Board Support 296following references for information on how to prepare for Board Support
298Package (BSP) development and kernel development: 297Package (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
311Setting Up a Native Linux Host 306Setting 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
3494. *Install Development Host Packages:* Required development host 3434. *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
359Once you have completed the previous steps, you are ready to continue 352Once you have completed the previous steps, you are ready to continue
360using a given development path on your native Linux machine. If you are 353using a given development path on your native Linux machine. If you are
361going to use BitBake, see the "`Cloning the ``poky`` 354going to use BitBake, see the
362Repository <#cloning-the-poky-repository>`__" section. If you are going 355":ref:`dev-manual/dev-manual-start:cloning the \`\`poky\`\` repository`"
363to use the Extensible SDK, see the "`Using the Extensible 356section. If you are going
364SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__" Chapter in the Yocto 357to use the Extensible SDK, see the ":doc:`../sdk-manual/sdk-extensible`" Chapter in the Yocto
365Project Application Development and the Extensible Software Development 358Project Application Development and the Extensible Software Development
366Kit (eSDK) manual. If you want to work on the kernel, see the `Yocto 359Kit (eSDK) manual. If you want to work on the kernel, see the :doc:`../kernel-dev/kernel-dev`. If you are going to use
367Project Linux Kernel Development 360Toaster, see the ":doc:`../toaster-manual/toaster-manual-setup-and-use`"
368Manual <&YOCTO_DOCS_KERNEL_DEV_URL;>`__. If you are going to use
369Toaster, see the "`Setting Up and Using
370Toaster <&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use>`__"
371section in the Toaster User Manual. 361section 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
465as if you were running on a native Linux machine. If you are going to 455as if you were running on a native Linux machine. If you are going to
466use the Poky container, see the "`Cloning the ``poky`` 456use the Poky container, see the "`Cloning the ``poky``
467Repository <#cloning-the-poky-repository>`__" section. If you are going 457Repository <#cloning-the-poky-repository>`__" section. If you are going
468to use the Extensible SDK container, see the "`Using the Extensible 458to use the Extensible SDK container, see the
469SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__" Chapter in the Yocto 459":doc:`../sdk-manual/sdk-extensible`" Chapter in the Yocto
470Project Application Development and the Extensible Software Development 460Project Application Development and the Extensible Software Development
471Kit (eSDK) manual. If you are going to use the Toaster container, see 461Kit (eSDK) manual. If you are going to use the Toaster container, see
472the "`Setting Up and Using 462the ":doc:`../toaster-manual/toaster-manual-setup-and-use`"
473Toaster <&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use>`__"
474section in the Toaster User Manual. 463section 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:
4901. *Make sure your Windows 10 machine is capable of running WSLv2:* 4791. *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
5093. *Check your Linux distribution is using WSLv2:* Open a Windows 5043. *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
566Once you have WSLv2 set up, everything is in place to develop just as if 577Once you have WSLv2 set up, everything is in place to develop just as if
567you were running on a native Linux machine. If you are going to use the 578you were running on a native Linux machine. If you are going to use the
568Extensible SDK container, see the "`Using the Extensible 579Extensible SDK container, see the ":doc:`../sdk-manual/sdk-extensible`" Chapter in the Yocto
569SDK <&YOCTO_DOCS_SDK_URL;#sdk-extensible>`__" Chapter in the Yocto
570Project Application Development and the Extensible Software Development 580Project Application Development and the Extensible Software Development
571Kit (eSDK) manual. If you are going to use the Toaster container, see 581Kit (eSDK) manual. If you are going to use the Toaster container, see
572the "`Setting Up and Using 582the ":doc:`../toaster-manual/toaster-manual-setup-and-use`"
573Toaster <&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use>`__"
574section in the Toaster User Manual. 583section in the Toaster User Manual.
575 584
576Locating Yocto Project Source Files 585Locating 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
593Accessing Source Repositories 601Accessing Source Repositories
594----------------------------- 602-----------------------------
595 603
596Working from a copy of the upstream Yocto Project `Source 604Working from a copy of the upstream :ref:`dev-manual/dev-manual-start:accessing source repositories` is the
597Repositories <&YOCTO_DOCS_OM_URL;#source-repositories>`__ is the
598preferred method for obtaining and using a Yocto Project release. You 605preferred method for obtaining and using a Yocto Project release. You
599can view the Yocto Project Source Repositories at 606can 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
6133. *Find the URL Used to Clone the Repository:* At the bottom of the 6203. *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
6603. *Find the Tarball:* Drill down to find the associated tarball. For 6663. *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
6664. *Download the Tarball:* Click the tarball to download and save a 6724. *Download the Tarball:* Click the tarball to download and save a
@@ -691,8 +697,7 @@ Releases <#accessing-index-of-releases>`__" section.
691 697
6923. *Select a Yocto Project Release:* Use the menu next to "RELEASE" to 6983. *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
713Yocto Project maintains an area for nightly builds that contains tarball 718Yocto Project maintains an area for nightly builds that contains tarball
714releases at ` <&YOCTO_AB_NIGHTLY_URL;>`__. These builds include Yocto 719releases at https://autobuilder.yocto.io//pub/nightly/. These builds include Yocto
715Project releases ("poky"), toolchains, and builds for supported 720Project releases ("poky"), toolchains, and builds for supported
716machines. 721machines.
717 722
@@ -719,7 +724,7 @@ Should you ever want to access a nightly build of a particular Yocto
719Project component, use the following procedure: 724Project component, use the following procedure:
720 725
7211. *Locate the Index of Nightly Builds:* Open a browser and go to 7261. *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
7242. *Select a Date:* Click on the date in which you are interested. If 7292. *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
739To use the Yocto Project for development, you need a release locally 744To use the Yocto Project for development, you need a release locally
740installed on your development system. This locally installed set of 745installed on your development system. This locally installed set of
741files is referred to as the :term:`Source Directory` 746files is referred to as the :term:`Source Directory`
742 in the Yocto 747in the Yocto Project documentation.
743Project documentation.
744 748
745The preferred method of creating your Source Directory is by using 749The 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
748repository allows you to contribute back into the Yocto Project or to 752repository allows you to contribute back into the Yocto Project or to
749simply work with the latest software on a development branch. Because 753simply work with the latest software on a development branch. Because
@@ -756,19 +760,26 @@ Cloning the ``poky`` Repository
756------------------------------- 760-------------------------------
757 761
758Follow these steps to create a local version of the upstream 762Follow 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
7611. *Set Your Directory:* Change your working directory to where you want 7651. *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
7642. *Clone the Repository:* The following example command clones the 7682. *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
791Checking Out by Branch in Poky 810Checking 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
8122. *Determine Existing Branch Names:* $ git branch -a \* master 8312. *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
8203. *Check out the Branch:* Check out the development branch in which you 8523. *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
8562. *Fetch the Tag Names:* To checkout the branch based on a tag name, 8952. *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
8603. *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 9023. *List the Tag Names:* You can list the tag names now:
864 903 ::
8654. *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
9254. *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.