diff options
| -rw-r--r-- | documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.rst | 363 |
1 files changed, 212 insertions, 151 deletions
diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.rst b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.rst index 5da7de2ac2..456fab870c 100644 --- a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.rst +++ b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.rst | |||
| @@ -16,12 +16,12 @@ build a reference embedded OS called Poky. | |||
| 16 | 16 | ||
| 17 | - The examples in this paper assume you are using a native Linux | 17 | - The examples in this paper assume you are using a native Linux |
| 18 | system running a recent Ubuntu Linux distribution. If the machine | 18 | system running a recent Ubuntu Linux distribution. If the machine |
| 19 | you want to use Yocto Project on to build an image (`build | 19 | you want to use Yocto Project on to build an image |
| 20 | host <&YOCTO_DOCS_REF_URL;#hardware-build-system-term>`__) is not | 20 | (:term:`Build Host`) is not |
| 21 | a native Linux system, you can still perform these steps by using | 21 | a native Linux system, you can still perform these steps by using |
| 22 | CROss PlatformS (CROPS) and setting up a Poky container. See the | 22 | CROss PlatformS (CROPS) and setting up a Poky container. See the |
| 23 | `Setting Up to Use CROss PlatformS | 23 | :ref:`dev-manual/dev-manual-start:setting up to use cross platforms (crops)` |
| 24 | (CROPS) <&YOCTO_DOCS_DEV_URL;#setting-up-to-use-crops>`__" section | 24 | section |
| 25 | in the Yocto Project Development Tasks Manual for more | 25 | in the Yocto Project Development Tasks Manual for more |
| 26 | information. | 26 | information. |
| 27 | 27 | ||
| @@ -34,48 +34,41 @@ build a reference embedded OS called Poky. | |||
| 34 | compatible but not officially supported nor validated with | 34 | compatible but not officially supported nor validated with |
| 35 | WSLv2, if you still decide to use WSL please upgrade to WSLv2. | 35 | WSLv2, if you still decide to use WSL please upgrade to WSLv2. |
| 36 | 36 | ||
| 37 | See the `Setting Up to Use Windows Subsystem For | 37 | See the :ref:`dev-manual/dev-manual-start:setting up to use windows |
| 38 | Linux <&YOCTO_DOCS_DEV_URL;#setting-up-to-use-wsl>`__" section in | 38 | subsystem for linux (wslv2)` section in the Yocto Project Development |
| 39 | the Yocto Project Development Tasks Manual for more information. | 39 | Tasks Manual for more information. |
| 40 | 40 | ||
| 41 | If you want more conceptual or background information on the Yocto | 41 | If you want more conceptual or background information on the Yocto |
| 42 | Project, see the `Yocto Project Overview and Concepts | 42 | Project, see the :doc:`../overview-manual/overview-manual`. |
| 43 | Manual <&YOCTO_DOCS_OM_URL;>`__. | ||
| 44 | 43 | ||
| 45 | Compatible Linux Distribution | 44 | Compatible Linux Distribution |
| 46 | ============================= | 45 | ============================= |
| 47 | 46 | ||
| 48 | Make sure your `build | 47 | Make sure your :term:`Build Host` meets the |
| 49 | host <&YOCTO_DOCS_REF_URL;#hardware-build-system-term>`__ meets the | ||
| 50 | following requirements: | 48 | following requirements: |
| 51 | 49 | ||
| 52 | - 50 Gbytes of free disk space | 50 | - 50 Gbytes of free disk space |
| 53 | 51 | ||
| 54 | - Runs a supported Linux distribution (i.e. recent releases of Fedora, | 52 | - Runs a supported Linux distribution (i.e. recent releases of Fedora, |
| 55 | openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux | 53 | openSUSE, CentOS, Debian, or Ubuntu). For a list of Linux |
| 56 | distributions that support the Yocto Project, see the "`Supported | 54 | distributions that support the Yocto Project, see the |
| 57 | Linux | 55 | :ref:`ref-manual/ref-system-requirements:supported linux distributions` |
| 58 | Distributions <&YOCTO_DOCS_REF_URL;#detailed-supported-distros>`__" | ||
| 59 | section in the Yocto Project Reference Manual. For detailed | 56 | section in the Yocto Project Reference Manual. For detailed |
| 60 | information on preparing your build host, see the "`Preparing the | 57 | information on preparing your build host, see the |
| 61 | Build Host <&YOCTO_DOCS_DEV_URL;#dev-preparing-the-build-host>`__" | 58 | :ref:`dev-manual/dev-manual-start:preparing the build host` |
| 62 | section in the Yocto Project Development Tasks Manual. | 59 | section in the Yocto Project Development Tasks Manual. |
| 63 | 60 | ||
| 64 | - | 61 | - |
| 65 | 62 | ||
| 66 | - Git 1.8.3.1 or greater | 63 | - Git 1.8.3.1 or greater |
| 67 | |||
| 68 | - tar 1.28 or greater | 64 | - tar 1.28 or greater |
| 69 | |||
| 70 | - Python 3.5.0 or greater. | 65 | - Python 3.5.0 or greater. |
| 71 | |||
| 72 | - gcc 5.0 or greater. | 66 | - gcc 5.0 or greater. |
| 73 | 67 | ||
| 74 | If your build host does not meet any of these three listed version | 68 | If your build host does not meet any of these three listed version |
| 75 | requirements, you can take steps to prepare the system so that you | 69 | requirements, you can take steps to prepare the system so that you |
| 76 | can still use the Yocto Project. See the "`Required Git, tar, Python | 70 | can still use the Yocto Project. See the |
| 77 | and gcc | 71 | :ref:`ref-manual/ref-system-requirements:required git, tar, python and gcc versions` |
| 78 | Versions <&YOCTO_DOCS_REF_URL;#required-git-tar-python-and-gcc-versions>`__" | ||
| 79 | section in the Yocto Project Reference Manual for information. | 72 | section in the Yocto Project Reference Manual for information. |
| 80 | 73 | ||
| 81 | Build Host Packages | 74 | Build Host Packages |
| @@ -88,38 +81,71 @@ distribution: | |||
| 88 | .. note:: | 81 | .. note:: |
| 89 | 82 | ||
| 90 | For host package requirements on all supported Linux distributions, | 83 | For host package requirements on all supported Linux distributions, |
| 91 | see the " | 84 | see the :ref:`ref-manual/ref-system-requirements:required packages for the build host` |
| 92 | Required Packages for the Build Host | 85 | section in the Yocto Project Reference Manual. |
| 93 | " section in the Yocto Project Reference Manual. | ||
| 94 | 86 | ||
| 95 | $ sudo apt-get install UBUNTU_HOST_PACKAGES_ESSENTIAL | 87 | .. code-block:: shell |
| 88 | |||
| 89 | $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; | ||
| 96 | 90 | ||
| 97 | Use Git to Clone Poky | 91 | Use Git to Clone Poky |
| 98 | ===================== | 92 | ===================== |
| 99 | 93 | ||
| 100 | Once you complete the setup instructions for your machine, you need to | 94 | Once you complete the setup instructions for your machine, you need to |
| 101 | get a copy of the Poky repository on your build host. Use the following | 95 | get a copy of the Poky repository on your build host. Use the following |
| 102 | commands to clone the Poky repository. $ git clone | 96 | commands to clone the Poky repository. |
| 103 | git://git.yoctoproject.org/poky Cloning into 'poky'... remote: Counting | 97 | |
| 104 | objects: 432160, done. remote: Compressing objects: 100% | 98 | .. code-block:: shell |
| 105 | (102056/102056), done. remote: Total 432160 (delta 323116), reused | 99 | |
| 106 | 432037 (delta 323000) Receiving objects: 100% (432160/432160), 153.81 | 100 | $ git clone git://git.yoctoproject.org/poky |
| 107 | MiB \| 8.54 MiB/s, done. Resolving deltas: 100% (323116/323116), done. | 101 | Cloning into 'poky'... |
| 108 | Checking connectivity... done. Move to the ``poky`` directory and take a | 102 | remote: Counting |
| 109 | look at the tags: $ cd poky $ git fetch --tags $ git tag 1.1_M1.final | 103 | objects: 432160, done. remote: Compressing objects: 100% |
| 110 | 1.1_M1.rc1 1.1_M1.rc2 1.1_M2.final 1.1_M2.rc1 . . . yocto-2.5 | 104 | (102056/102056), done. remote: Total 432160 (delta 323116), reused |
| 111 | yocto-2.5.1 yocto-2.5.2 yocto-2.6 yocto-2.6.1 yocto-2.6.2 yocto-2.7 | 105 | 432037 (delta 323000) Receiving objects: 100% (432160/432160), 153.81 MiB \| 8.54 MiB/s, done. |
| 112 | yocto_1.5_M5.rc8 For this example, check out the branch based on the | 106 | Resolving deltas: 100% (323116/323116), done. |
| 113 | DISTRO_REL_TAG release: $ git checkout tags/DISTRO_REL_TAG -b | 107 | Checking connectivity... done. |
| 114 | my-DISTRO_REL_TAG Switched to a new branch 'my-DISTRO_REL_TAG' The | 108 | |
| 115 | previous Git checkout command creates a local branch named | 109 | Move to the ``poky`` directory and take a look at the tags: |
| 116 | my-DISTRO_REL_TAG. The files available to you in that branch exactly | 110 | |
| 117 | match the repository's files in the "DISTRO_NAME_NO_CAP" development | 111 | .. code-block:: shell |
| 118 | branch at the time of the Yocto Project DISTRO_REL_TAG release. | 112 | |
| 113 | $ cd poky | ||
| 114 | $ git fetch --tags | ||
| 115 | $ git tag | ||
| 116 | 1.1_M1.final | ||
| 117 | 1.1_M1.rc1 | ||
| 118 | 1.1_M1.rc2 | ||
| 119 | 1.1_M2.final | ||
| 120 | 1.1_M2.rc1 | ||
| 121 | . | ||
| 122 | . | ||
| 123 | . | ||
| 124 | yocto-2.5 | ||
| 125 | yocto-2.5.1 | ||
| 126 | yocto-2.5.2 | ||
| 127 | yocto-2.6 | ||
| 128 | yocto-2.6.1 | ||
| 129 | yocto-2.6.2 | ||
| 130 | yocto-2.7 | ||
| 131 | yocto_1.5_M5.rc8 | ||
| 132 | |||
| 133 | For this example, check out the branch based on the | ||
| 134 | &DISTRO_REL_TAG; release: | ||
| 135 | |||
| 136 | .. code-block:: shell | ||
| 137 | |||
| 138 | $ git checkout tags/&DISTRO_REL_TAG; -b my-&DISTRO_REL_TAG; | ||
| 139 | Switched to a new branch 'my-&DISTRO_REL_TAG;' | ||
| 140 | |||
| 141 | The previous Git checkout command creates a local branch named | ||
| 142 | my-&DISTRO_REL_TAG;. The files available to you in that branch exactly | ||
| 143 | match the repository's files in the "&DISTRO_NAME_NO_CAP;" development | ||
| 144 | branch at the time of the Yocto Project &DISTRO_REL_TAG; release. | ||
| 119 | 145 | ||
| 120 | For more options and information about accessing Yocto Project related | 146 | For more options and information about accessing Yocto Project related |
| 121 | repositories, see the "`Locating Yocto Project Source | 147 | repositories, see the |
| 122 | Files <&YOCTO_DOCS_DEV_URL;#locating-yocto-project-source-files>`__" | 148 | :ref:`dev-manual/dev-manual-start:locating yocto project source files` |
| 123 | section in the Yocto Project Development Tasks Manual. | 149 | section in the Yocto Project Development Tasks Manual. |
| 124 | 150 | ||
| 125 | Building Your Image | 151 | Building Your Image |
| @@ -142,35 +168,51 @@ an entire Linux distribution, including the toolchain, from source. | |||
| 142 | ":yocto_wiki:`Working Behind a Network Proxy </wiki/Working_Behind_a_Network_Proxy>`" | 168 | ":yocto_wiki:`Working Behind a Network Proxy </wiki/Working_Behind_a_Network_Proxy>`" |
| 143 | page of the Yocto Project Wiki. | 169 | page of the Yocto Project Wiki. |
| 144 | 170 | ||
| 145 | 1. *Initialize the Build Environment:* From within the ``poky`` | 171 | #. **Initialize the Build Environment:** From within the ``poky`` |
| 146 | directory, run the | 172 | directory, run the :ref:`ref-manual/ref-structure:\`\`oe-init-build-env\`\`` |
| 147 | ````` <&YOCTO_DOCS_REF_URL;#structure-core-script>`__ environment | 173 | environment |
| 148 | setup script to define Yocto Project's build environment on your | 174 | setup script to define Yocto Project's build environment on your |
| 149 | build host. $ cd ~/poky $ source OE_INIT_FILE You had no | 175 | build host. |
| 150 | conf/local.conf file. This configuration file has therefore been | 176 | |
| 151 | created for you with some default values. You may wish to edit it to, | 177 | .. code-block:: shell |
| 152 | for example, select a different MACHINE (target hardware). See | 178 | |
| 153 | conf/local.conf for more information as common configuration options | 179 | $ cd ~/poky |
| 154 | are commented. You had no conf/bblayers.conf file. This configuration | 180 | $ source &OE_INIT_FILE; |
| 155 | file has therefore been created for you with some default values. To | 181 | You had no conf/local.conf file. This configuration file has therefore been |
| 156 | add additional metadata layers into your configuration please add | 182 | created for you with some default values. You may wish to edit it to, for |
| 157 | entries to conf/bblayers.conf. The Yocto Project has extensive | 183 | example, select a different MACHINE (target hardware). See conf/local.conf |
| 158 | documentation about OE including a reference manual which can be | 184 | for more information as common configuration options are commented. |
| 159 | found at: http://yoctoproject.org/documentation For more information | 185 | |
| 160 | about OpenEmbedded see their website: http://www.openembedded.org/ | 186 | You had no conf/bblayers.conf file. This configuration file has therefore |
| 161 | ### Shell environment set up for builds. ### You can now run 'bitbake | 187 | been created for you with some default values. To add additional metadata |
| 162 | <target>' Common targets are: core-image-minimal core-image-sato | 188 | layers into your configuration please add entries to conf/bblayers.conf. |
| 163 | meta-toolchain meta-ide-support You can also run generated qemu | 189 | |
| 164 | images with a command like 'runqemu qemux86-64' Among other things, | 190 | The Yocto Project has extensive documentation about OE including a reference |
| 165 | the script creates the | 191 | manual which can be found at: |
| 166 | :term:`Build Directory`, which is | 192 | http://yoctoproject.org/documentation |
| 167 | ``build`` in this case and is located in the :term:`Source Directory`. | 193 | |
| 168 | After the | 194 | For more information about OpenEmbedded see their website: |
| 169 | script runs, your current working directory is set to the Build | 195 | http://www.openembedded.org/ |
| 170 | Directory. Later, when the build completes, the Build Directory | 196 | |
| 171 | contains all the files created during the build. | 197 | ### Shell environment set up for builds. ### |
| 172 | 198 | ||
| 173 | 2. *Examine Your Local Configuration File:* When you set up the build | 199 | You can now run 'bitbake <target>' |
| 200 | |||
| 201 | Common targets are: | ||
| 202 | core-image-minimal | ||
| 203 | core-image-sato | ||
| 204 | meta-toolchain | ||
| 205 | meta-ide-support | ||
| 206 | |||
| 207 | You can also run generated qemu images with a command like 'runqemu qemux86-64' | ||
| 208 | |||
| 209 | Among other things, the script creates the :term:`Build Directory`, which is | ||
| 210 | ``build`` in this case and is located in the :term:`Source Directory`. After | ||
| 211 | the script runs, your current working directory is set to the Build | ||
| 212 | Directory. Later, when the build completes, the Build Directory contains all the | ||
| 213 | files created during the build. | ||
| 214 | |||
| 215 | #. **Examine Your Local Configuration File:** When you set up the build | ||
| 174 | environment, a local configuration file named ``local.conf`` becomes | 216 | environment, a local configuration file named ``local.conf`` becomes |
| 175 | available in a ``conf`` subdirectory of the Build Directory. For this | 217 | available in a ``conf`` subdirectory of the Build Directory. For this |
| 176 | example, the defaults are set to build for a ``qemux86`` target, | 218 | example, the defaults are set to build for a ``qemux86`` target, |
| @@ -179,44 +221,47 @@ an entire Linux distribution, including the toolchain, from source. | |||
| 179 | 221 | ||
| 180 | .. tip:: | 222 | .. tip:: |
| 181 | 223 | ||
| 182 | You can significantly speed up your build and guard against | 224 | You can significantly speed up your build and guard against fetcher |
| 183 | fetcher failures by using mirrors. To use mirrors, add these lines | 225 | failures by using mirrors. To use mirrors, add these lines to your |
| 184 | to your | 226 | local.conf file in the Build directory: :: |
| 185 | local.conf | 227 | |
| 186 | file in the Build directory: | 228 | SSTATE_MIRRORS = "\ |
| 187 | :: | 229 | file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \ |
| 188 | 230 | file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \ | |
| 189 | SSTATE_MIRRORS = "\ | 231 | file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \ |
| 190 | file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \ | 232 | " |
| 191 | file://.* http://sstate.yoctoproject.org/YOCTO_DOC_VERSION_MINUS_ONE/PATH;downloadfilename=PATH \n \ | 233 | |
| 192 | file://.* http://sstate.yoctoproject.org/YOCTO_DOC_VERSION/PATH;downloadfilename=PATH \n \ | 234 | |
| 193 | " | 235 | The previous examples showed how to add sstate paths for Yocto Project |
| 194 | 236 | &YOCTO_DOC_VERSION_MINUS_ONE;, &YOCTO_DOC_VERSION;, and a development | |
| 195 | 237 | area. For a complete index of sstate locations, see http://sstate.yoctoproject.org/. | |
| 196 | The previous examples showed how to add sstate paths for Yocto | 238 | |
| 197 | Project YOCTO_DOC_VERSION_MINUS_ONE, YOCTO_DOC_VERSION, and a | 239 | #. **Start the Build:** Continue with the following command to build an OS |
| 198 | development area. For a complete index of sstate locations, see | 240 | image for the target, which is ``core-image-sato`` in this example: |
| 199 | . | 241 | |
| 200 | 242 | .. code-block:: shell | |
| 201 | 3. *Start the Build:* Continue with the following command to build an OS | 243 | |
| 202 | image for the target, which is ``core-image-sato`` in this example: $ | 244 | $ bitbake core-image-sato |
| 203 | bitbake core-image-sato For information on using the ``bitbake`` | 245 | |
| 204 | command, see the | 246 | For information on using the ``bitbake`` command, see the |
| 205 | "`BitBake <&YOCTO_DOCS_OM_URL;#usingpoky-components-bitbake>`__" | 247 | :ref:`usingpoky-components-bitbake` section in the Yocto Project Overview and |
| 206 | section in the Yocto Project Overview and Concepts Manual, or see the | 248 | Concepts Manual, or see the ":ref:`BitBake Command |
| 207 | ":ref:`BitBake Command <bitbake:bitbake-user-manual-command>`" section | 249 | <bitbake:bitbake-user-manual-command>`" section in the BitBake User Manual. |
| 208 | in the BitBake User Manual. | 250 | |
| 209 | 251 | #. **Simulate Your Image Using QEMU:** Once this particular image is | |
| 210 | 4. *Simulate Your Image Using QEMU:* Once this particular image is | ||
| 211 | built, you can start QEMU, which is a Quick EMUlator that ships with | 252 | built, you can start QEMU, which is a Quick EMUlator that ships with |
| 212 | the Yocto Project: $ runqemu qemux86-64 If you want to learn more | 253 | the Yocto Project: |
| 213 | about running QEMU, see the "`Using the Quick EMUlator | 254 | |
| 214 | (QEMU) <&YOCTO_DOCS_DEV_URL;#dev-manual-qemu>`__" chapter in the | 255 | .. code-block:: shell |
| 215 | Yocto Project Development Tasks Manual. | 256 | |
| 257 | $ runqemu qemux86-64 | ||
| 258 | |||
| 259 | If you want to learn more about running QEMU, see the | ||
| 260 | :ref:`dev-manual/dev-manual-qemu:using the quick emulator (qemu)` chapter in | ||
| 261 | the Yocto Project Development Tasks Manual. | ||
| 216 | 262 | ||
| 217 | 5. *Exit QEMU:* Exit QEMU by either clicking on the shutdown icon or by | 263 | #. **Exit QEMU:** Exit QEMU by either clicking on the shutdown icon or by typing |
| 218 | typing ``Ctrl-C`` in the QEMU transcript window from which you evoked | 264 | ``Ctrl-C`` in the QEMU transcript window from which you evoked QEMU. |
| 219 | QEMU. | ||
| 220 | 265 | ||
| 221 | Customizing Your Build for Specific Hardware | 266 | Customizing Your Build for Specific Hardware |
| 222 | ============================================ | 267 | ============================================ |
| @@ -237,25 +282,33 @@ modular development and makes it easier to reuse the layer metadata. | |||
| 237 | 282 | ||
| 238 | Follow these steps to add a hardware layer: | 283 | Follow these steps to add a hardware layer: |
| 239 | 284 | ||
| 240 | 1. *Find a Layer:* Lots of hardware layers exist. The Yocto Project | 285 | #. **Find a Layer:** Lots of hardware layers exist. The Yocto Project |
| 241 | :yocto_git:`Source Repositories <>` has many hardware layers. | 286 | :yocto_git:`Source Repositories <>` has many hardware layers. |
| 242 | This example adds the | 287 | This example adds the |
| 243 | `meta-altera <https://github.com/kraj/meta-altera>`__ hardware layer. | 288 | `meta-altera <https://github.com/kraj/meta-altera>`__ hardware layer. |
| 244 | 289 | ||
| 245 | 2. *Clone the Layer* Use Git to make a local copy of the layer on your | 290 | #. **Clone the Layer** Use Git to make a local copy of the layer on your |
| 246 | machine. You can put the copy in the top level of the copy of the | 291 | machine. You can put the copy in the top level of the copy of the |
| 247 | Poky repository created earlier: $ cd ~/poky $ git clone | 292 | Poky repository created earlier: |
| 248 | https://github.com/kraj/meta-altera.git Cloning into 'meta-altera'... | 293 | |
| 249 | remote: Counting objects: 25170, done. remote: Compressing objects: | 294 | .. code-block:: shell |
| 250 | 100% (350/350), done. remote: Total 25170 (delta 645), reused 719 | 295 | |
| 251 | (delta 538), pack-reused 24219 Receiving objects: 100% (25170/25170), | 296 | $ cd ~/poky |
| 252 | 41.02 MiB \| 1.64 MiB/s, done. Resolving deltas: 100% (13385/13385), | 297 | $ git clone https://github.com/kraj/meta-altera.git |
| 253 | done. Checking connectivity... done. The hardware layer now exists | 298 | Cloning into 'meta-altera'... |
| 299 | remote: Counting objects: 25170, done. | ||
| 300 | remote: Compressing objects: 100% (350/350), done. | ||
| 301 | remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219 | ||
| 302 | Receiving objects: 100% (25170/25170), 41.02 MiB \| 1.64 MiB/s, done. | ||
| 303 | Resolving deltas: 100% (13385/13385), done. | ||
| 304 | Checking connectivity... done. | ||
| 305 | |||
| 306 | The hardware layer now exists | ||
| 254 | with other layers inside the Poky reference repository on your build | 307 | with other layers inside the Poky reference repository on your build |
| 255 | host as ``meta-altera`` and contains all the metadata needed to | 308 | host as ``meta-altera`` and contains all the metadata needed to |
| 256 | support hardware from Altera, which is owned by Intel. | 309 | support hardware from Altera, which is owned by Intel. |
| 257 | 310 | ||
| 258 | 3. *Change the Configuration to Build for a Specific Machine:* The | 311 | #. **Change the Configuration to Build for a Specific Machine:** The |
| 259 | :term:`MACHINE` variable in the | 312 | :term:`MACHINE` variable in the |
| 260 | ``local.conf`` file specifies the machine for the build. For this | 313 | ``local.conf`` file specifies the machine for the build. For this |
| 261 | example, set the ``MACHINE`` variable to "cyclone5". These | 314 | example, set the ``MACHINE`` variable to "cyclone5". These |
| @@ -264,25 +317,30 @@ Follow these steps to add a hardware layer: | |||
| 264 | 317 | ||
| 265 | .. note:: | 318 | .. note:: |
| 266 | 319 | ||
| 267 | See the " | 320 | See the "Examine Your Local Configuration File" step earlier for more |
| 268 | Examine Your Local Configuration File | 321 | information on configuring the build. |
| 269 | " step earlier for more information on configuring the build. | ||
| 270 | 322 | ||
| 271 | 4. *Add Your Layer to the Layer Configuration File:* Before you can use | 323 | #. **Add Your Layer to the Layer Configuration File:** Before you can use |
| 272 | a layer during a build, you must add it to your ``bblayers.conf`` | 324 | a layer during a build, you must add it to your ``bblayers.conf`` |
| 273 | file, which is found in the | 325 | file, which is found in the |
| 274 | :term:`Build Directory` ``conf`` | 326 | :term:`Build Directory` ``conf`` |
| 275 | directory. | 327 | directory. |
| 276 | 328 | ||
| 277 | Use the ``bitbake-layers add-layer`` command to add the layer to the | 329 | Use the ``bitbake-layers add-layer`` command to add the layer to the |
| 278 | configuration file: $ cd ~/poky/build $ bitbake-layers add-layer | 330 | configuration file: |
| 279 | ../meta-altera NOTE: Starting bitbake server... Parsing recipes: 100% | 331 | |
| 280 | \|##################################################################\| | 332 | .. code-block:: shell |
| 281 | Time: 0:00:32 Parsing of 918 .bb files complete (0 cached, 918 | 333 | |
| 282 | parsed). 1401 targets, 123 skipped, 0 masked, 0 errors. You can find | 334 | $ cd ~/poky/build |
| 283 | more information on adding layers in the "`Adding a Layer Using the | 335 | $ bitbake-layers add-layer ../meta-altera |
| 284 | ``bitbake-layers`` | 336 | NOTE: Starting bitbake server... |
| 285 | Script <&YOCTO_DOCS_DEV_URL;#adding-a-layer-using-the-bitbake-layers-script>`__" | 337 | Parsing recipes: 100% \|##################################################################\| Time: 0:00:32 |
| 338 | Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, | ||
| 339 | 123 skipped, 0 masked, 0 errors. | ||
| 340 | |||
| 341 | You can find | ||
| 342 | more information on adding layers in the | ||
| 343 | :ref:`dev-manual/dev-manual-common-tasks:adding a layer using the \`\`bitbake-layers\`\` script` | ||
| 286 | section. | 344 | section. |
| 287 | 345 | ||
| 288 | Completing these steps has added the ``meta-altera`` layer to your Yocto | 346 | Completing these steps has added the ``meta-altera`` layer to your Yocto |
| @@ -293,9 +351,7 @@ Project development environment and configured it to build for the | |||
| 293 | 351 | ||
| 294 | The previous steps are for demonstration purposes only. If you were | 352 | The previous steps are for demonstration purposes only. If you were |
| 295 | to attempt to build an image for the "cyclone5" build, you should | 353 | to attempt to build an image for the "cyclone5" build, you should |
| 296 | read the Altera | 354 | read the Altera README. |
| 297 | README | ||
| 298 | . | ||
| 299 | 355 | ||
| 300 | Creating Your Own General Layer | 356 | Creating Your Own General Layer |
| 301 | =============================== | 357 | =============================== |
| @@ -308,12 +364,18 @@ configuration file, a ``recipes-example`` subdirectory that contains an | |||
| 308 | ``example.bb`` recipe, a licensing file, and a ``README``. | 364 | ``example.bb`` recipe, a licensing file, and a ``README``. |
| 309 | 365 | ||
| 310 | The following commands run the tool to create a layer named | 366 | The following commands run the tool to create a layer named |
| 311 | ``meta-mylayer`` in the ``poky`` directory: $ cd ~/poky $ bitbake-layers | 367 | ``meta-mylayer`` in the ``poky`` directory: |
| 312 | create-layer meta-mylayer NOTE: Starting bitbake server... Add your new | 368 | |
| 313 | layer with 'bitbake-layers add-layer meta-mylayer' For more information | 369 | .. code-block:: shell |
| 314 | on layers and how to create them, see the "`Creating a General Layer | 370 | |
| 315 | Using the ``bitbake-layers`` | 371 | $ cd ~/poky |
| 316 | Script <&YOCTO_DOCS_DEV_URL;#creating-a-general-layer-using-the-bitbake-layers-script>`__" | 372 | $ bitbake-layers create-layer meta-mylayer |
| 373 | NOTE: Starting bitbake server... | ||
| 374 | Add your new layer with 'bitbake-layers add-layer meta-mylayer' | ||
| 375 | |||
| 376 | For more information | ||
| 377 | on layers and how to create them, see the | ||
| 378 | :ref:`dev-manual/dev-manual-common-tasks:creating a general layer using the \`\`bitbake-layers\`\` script` | ||
| 317 | section in the Yocto Project Development Tasks Manual. | 379 | section in the Yocto Project Development Tasks Manual. |
| 318 | 380 | ||
| 319 | Where To Go Next | 381 | Where To Go Next |
| @@ -323,39 +385,38 @@ Now that you have experienced using the Yocto Project, you might be | |||
| 323 | asking yourself "What now?" The Yocto Project has many sources of | 385 | asking yourself "What now?" The Yocto Project has many sources of |
| 324 | information including the website, wiki pages, and user manuals: | 386 | information including the website, wiki pages, and user manuals: |
| 325 | 387 | ||
| 326 | - *Website:* The :yocto_home:`Yocto Project Website <>` provides | 388 | - **Website:** The :yocto_home:`Yocto Project Website <>` provides |
| 327 | background information, the latest builds, breaking news, full | 389 | background information, the latest builds, breaking news, full |
| 328 | development documentation, and access to a rich Yocto Project | 390 | development documentation, and access to a rich Yocto Project |
| 329 | Development Community into which you can tap. | 391 | Development Community into which you can tap. |
| 330 | 392 | ||
| 331 | - *Developer Screencast:* The `Getting Started with the Yocto Project - | 393 | - **Developer Screencast:** The `Getting Started with the Yocto Project - |
| 332 | New Developer Screencast Tutorial <http://vimeo.com/36450321>`__ | 394 | New Developer Screencast Tutorial <http://vimeo.com/36450321>`__ |
| 333 | provides a 30-minute video created for users unfamiliar with the | 395 | provides a 30-minute video created for users unfamiliar with the |
| 334 | Yocto Project but familiar with Linux build hosts. While this | 396 | Yocto Project but familiar with Linux build hosts. While this |
| 335 | screencast is somewhat dated, the introductory and fundamental | 397 | screencast is somewhat dated, the introductory and fundamental |
| 336 | concepts are useful for the beginner. | 398 | concepts are useful for the beginner. |
| 337 | 399 | ||
| 338 | - *Yocto Project Overview and Concepts Manual:* The `Yocto Project | 400 | - **Yocto Project Overview and Concepts Manual:** The |
| 339 | Overview and Concepts Manual <&YOCTO_DOCS_OM_URL;>`__ is a great | 401 | :doc:`../overview-manual/overview-manual` is a great |
| 340 | place to start to learn about the Yocto Project. This manual | 402 | place to start to learn about the Yocto Project. This manual |
| 341 | introduces you to the Yocto Project and its development environment. | 403 | introduces you to the Yocto Project and its development environment. |
| 342 | The manual also provides conceptual information for various aspects | 404 | The manual also provides conceptual information for various aspects |
| 343 | of the Yocto Project. | 405 | of the Yocto Project. |
| 344 | 406 | ||
| 345 | - *Yocto Project Wiki:* The :yocto_wiki:`Yocto Project Wiki <>` | 407 | - **Yocto Project Wiki:** The :yocto_wiki:`Yocto Project Wiki <>` |
| 346 | provides additional information on where to go next when ramping up | 408 | provides additional information on where to go next when ramping up |
| 347 | with the Yocto Project, release information, project planning, and QA | 409 | with the Yocto Project, release information, project planning, and QA |
| 348 | information. | 410 | information. |
| 349 | 411 | ||
| 350 | - *Yocto Project Mailing Lists:* Related mailing lists provide a forum | 412 | - **Yocto Project Mailing Lists:** Related mailing lists provide a forum |
| 351 | for discussion, patch submission and announcements. Several mailing | 413 | for discussion, patch submission and announcements. Several mailing |
| 352 | lists exist and are grouped according to areas of concern. See the | 414 | lists exist and are grouped according to areas of concern. See the |
| 353 | "`Mailing lists <&YOCTO_DOCS_REF_URL;#resources-mailinglist>`__" | 415 | :ref:`ref-manual/resources:mailing lists` |
| 354 | section in the Yocto Project Reference Manual for a complete list of | 416 | section in the Yocto Project Reference Manual for a complete list of |
| 355 | Yocto Project mailing lists. | 417 | Yocto Project mailing lists. |
| 356 | 418 | ||
| 357 | - *Comprehensive List of Links and Other Documentation:* The "`Links | 419 | - **Comprehensive List of Links and Other Documentation:** The |
| 358 | and Related | 420 | :ref:`ref-manual/resources:links and related documentation` |
| 359 | Documentation <&YOCTO_DOCS_REF_URL;#resources-links-and-related-documentation>`__" | ||
| 360 | section in the Yocto Project Reference Manual provides a | 421 | section in the Yocto Project Reference Manual provides a |
| 361 | comprehensive list of all related links and other user documentation. | 422 | comprehensive list of all related links and other user documentation. |
