From eb8dc40360f0cfef56fb6947cc817a547d6d9bc6 Mon Sep 17 00:00:00 2001 From: Dave Cobbley Date: Tue, 14 Aug 2018 10:05:37 -0700 Subject: [Subtree] Removing import-layers directory As part of the move to subtrees, need to bring all the import layers content to the top level. Change-Id: I4a163d10898cbc6e11c27f776f60e1a470049d8f Signed-off-by: Dave Cobbley Signed-off-by: Brad Bishop --- .../brief-yoctoprojectqs/brief-yoctoprojectqs.xml | 491 +++++++++++++++++++++ 1 file changed, 491 insertions(+) create mode 100644 poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml (limited to 'poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml') diff --git a/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml new file mode 100644 index 000000000..62c4964f5 --- /dev/null +++ b/poky/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml @@ -0,0 +1,491 @@ + %poky; ] > + +
+ + Yocto Project Quick Build + + + ©RIGHT_YEAR; + Linux Foundation + + + + + Permission is granted to copy, distribute and/or modify this document under + the terms of the Creative Commons Attribution-Share Alike 2.0 UK: England & Wales as published by Creative Commons. + + + + + + + + + +
+ Welcome! + + + Welcome! + This short document steps you through the process for a typical + image build using the Yocto Project. + The document also introduces how to configure a build for specific + hardware. + You will use Yocto Project to build a reference embedded OS + called Poky. + + The examples in this paper assume you are using a native Linux + system running a recent Ubuntu Linux distribution. + If the machine you want to use + Yocto Project on to build an image is not a native Linux + system, you can still perform these steps by using CROss + PlatformS (CROPS) and setting up a Poky container. + See the + Setting Up to Use CROss PlatformS (CROPS)" + section in the Yocto Project Development Tasks Manual for more + information. + + + + + If you want more conceptual or background information on the + Yocto Project, see the + Yocto Project Overview and Concepts Manual. + +
+ +
+ Compatible Linux Distribution + + + Make sure your + build host + meets the following requirements: + + + 50 Gbytes of free disk space + + + Runs a supported Linux distribution (i.e. recent releases of + Fedora, openSUSE, CentOS, Debian, or Ubuntu). For a list of + Linux distributions that support the Yocto Project, see the + "Supported Linux Distributions" + section in the Yocto Project Reference Manual. + + + + + Git 1.8.3.1 or greater + + + tar 1.27 or greater + + + Python 3.4.0 or greater. + + + If your build host does not meet any of these three listed + version requirements, you can take steps to prepare the + system so that you can still use the Yocto Project. + See the + "Required Git, tar, and Python Versions" + section in the Yocto Project Reference Manual for information. + + + +
+ +
+ Build Host Packages + + + You must install essential host packages on your + build host. + The following command installs the host packages based on an + Ubuntu distribution: + + For host package requirements on all supported Linux + distributions, see the + "Required Packages for the Host Development System" + section in the Yocto Project Reference Manual. + + + $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm + + +
+ +
+ Use Git to Clone Poky + + + Once you complete the setup instructions for your machine, + you need to get a copy of the Poky repository on your build + host. + Use the following commands to clone the Poky + repository and then checkout the &DISTRO_REL_TAG; release: + + $ git clone git://git.yoctoproject.org/poky + Cloning into 'poky'... + remote: Counting objects: 361782, done. + remote: Compressing objects: 100% (87100/87100), done. + remote: Total 361782 (delta 268619), reused 361439 (delta 268277) + Receiving objects: 100% (361782/361782), 131.94 MiB | 6.88 MiB/s, done. + Resolving deltas: 100% (268619/268619), done. + Checking connectivity... done. + $ git checkout tags/yocto-2.5 -b my-yocto-2.5 + + The previous Git checkout command creates a local branch + named my-&DISTRO_REL_TAG;. The files available to you in that + branch exactly match the repository's files in the + "&DISTRO_NAME_NO_CAP;" development branch at the time of the + Yocto Project &DISTRO; release. + + + + For more options and information about accessing Yocto + Project related repositories, see the + "Locating Yocto Project Source Files" + section in the Yocto Project Development Tasks Manual. + +
+ +
+ Building Your Image + + + Use the following steps to build your image. + The build process creates an entire Linux distribution, including + the toolchain, from source. + + + + If you are working behind a firewall and your build + host is not set up for proxies, you could encounter + problems with the build process when fetching source + code (e.g. fetcher failures or Git failures). + + + If you do not know your proxy settings, consult your + local network infrastructure resources and get that + information. + A good starting point could also be to check your + web browser settings. + Finally, you can find more information on the + "Working Behind a Network Proxy" + page of the Yocto Project Wiki. + + + + + + + + + Initialize the Build Environment: + Run the + &OE_INIT_FILE; + environment setup script to define Yocto Project's + build environment on your build host. + + $ source &OE_INIT_FILE; + + Among other things, the script creates the + Build Directory, + which is build in this case + and is located in the + Source Directory. + After the script runs, your current working directory + is set to the Build Directory. + Later, when the build completes, the Build Directory + contains all the files created during the build. + + + Examine Your Local Configuration File: + When you set up the build environment, a local + configuration file named + local.conf becomes available in + a conf subdirectory of the + Build Directory. + For this example, the defaults are set to build + for a qemux86 target, which is + suitable for emulation. + The package manager used is set to the RPM package + manager. + + You can significantly speed up your build and guard + against fetcher failures by using mirrors. + To use mirrors, add these lines to your + local.conf file in the Build + directory: + + SSTATE_MIRRORS = "\ + file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH \n \ + file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION_MINUS_ONE;/PATH;downloadfilename=PATH \n \ + file://.* http://sstate.yoctoproject.org/&YOCTO_DOC_VERSION;/PATH;downloadfilename=PATH \n \ + " + + The previous examples showed how to add sstate + paths for Yocto Project &YOCTO_DOC_VERSION_MINUS_ONE;, + &YOCTO_DOC_VERSION;, and a development area. + For a complete index of sstate locations, see + . + + + + Start the Build: + Continue with the following command to build an OS image + for the target, which is + core-image-sato in this example: + + $ bitbake core-image-sato + + For information on using the + bitbake command, see the + "BitBake" + section in the Yocto Project Overview and Concepts Manual, + or see the + "BitBake Command" + section in the BitBake User Manual. + + + Simulate Your Image Using QEMU: + Once this particular image is built, you can start + QEMU, which is a Quick EMUlator that ships with + the Yocto Project: + + $ runqemu qemux86 + + If you want to learn more about running QEMU, see the + "Using the Quick EMUlator (QEMU)" + chapter in the Yocto Project Development Tasks Manual. + + + Exit QEMU: + Exit QEMU by either clicking on the shutdown icon or by + typing Ctrl-C in the QEMU + transcript window from which you evoked QEMU. + + + +
+ +
+ Customizing Your Build for Specific Hardware + + + So far, all you have done is quickly built an image suitable + for emulation only. + This section shows you how to customize your build for specific + hardware by adding a hardware layer into the Yocto Project + development environment. + + + + In general, layers are repositories that contain related sets of + instructions and configurations that tell the Yocto Project what + to do. + Isolating related metadata into functionally specific layers + facilitates modular development and makes it easier to reuse the + layer metadata. + + By convention, layer names start with the string "meta-". + + + + + Follow these steps to add a hardware layer: + + + Find a Layer: + Lots of hardware layers exist. + The Yocto Project + Source Repositories + has many hardware layers. + This example adds the + meta-altera + hardware layer. + + + Clone the Layer + Use Git to make a local copy of the layer on your machine. + You can put the copy in the top level of the copy of the + Poky repository created earlier: + + $ cd ~/poky + $ git clone https://github.com/kraj/meta-altera.git + Cloning into 'meta-altera'... + remote: Counting objects: 25170, done. + remote: Compressing objects: 100% (350/350), done. + remote: Total 25170 (delta 645), reused 719 (delta 538), pack-reused 24219 + Receiving objects: 100% (25170/25170), 41.02 MiB | 1.64 MiB/s, done. + Resolving deltas: 100% (13385/13385), done. + Checking connectivity... done. + + The hardware layer now exists with other layers inside + the Poky reference repository on your build host as + meta-altera and contains all the + metadata needed to support hardware from Altera, which + is owned by Intel. + + + Change the Configuration to Build for a Specific Machine: + The + MACHINE + variable in the local.conf file + specifies the machine for the build. + For this example, set the MACHINE + variable to "cyclone5". + These configurations are used: + . + + See the + "Examine Your Local Configuration File" + step earlier for more information on configuring the + build. + + + + Add Your Layer to the Layer Configuration File: + Before you can use a layer during a build, you must add it + to your bblayers.conf file, which + is found in the + Build Directory's + conf directory. + + Use the bitbake-layers add-layer + command to add the layer to the configuration file: + + $ cd ~/poky/build + $ bitbake-layers add-layer ../meta-altera + NOTE: Starting bitbake server... + Parsing recipes: 100% |##################################################################| Time: 0:00:32 + Parsing of 918 .bb files complete (0 cached, 918 parsed). 1401 targets, 123 skipped, 0 masked, 0 errors. + + You can find more information on adding layers in the + "Adding a Layer Using the bitbake-layers Script" + section. + + + Completing these steps has added the + meta-altera layer to your Yocto Project + development environment and configured it to build for the + "cyclone5" machine. + + The previous steps are for demonstration purposes only. + If you were to attempt to build an image for the + "cyclone5" build, you should read the Altera + README. + + +
+ +
+ Creating Your Own General Layer + + + Maybe you have an application or specific set of behaviors you + need to isolate. + You can create your own general layer using the + bitbake-layers create-layer command. + The tool automates layer creation by setting up a + subdirectory with a layer.conf + configuration file, a recipes-example + subdirectory that contains an example.bb + recipe, a licensing file, and a README. + + + + The following commands run the tool to create a layer named + meta-mylayer in the + poky directory: + + $ cd ~/poky + $ bitbake-layers create-layer meta-mylayer + NOTE: Starting bitbake server... + Add your new layer with 'bitbake-layers add-layer meta-mylayer' + + For more information on layers and how to create them, see the + "Creating a General Layer Using the bitbake-layers Script" + section in the Yocto Project Development Tasks Manual. + +
+ +
+ Where To Go Next + + + Now that you have experienced using the Yocto Project, you might + be asking yourself "What now?" + The Yocto Project has many sources of information including + the website, wiki pages, and user manuals: + + + Website: + The + Yocto Project Website + provides background information, the latest builds, + breaking news, full development documentation, and + access to a rich Yocto Project Development Community + into which you can tap. + + + Developer Screencast: + The + Getting Started with the Yocto Project - New Developer Screencast Tutorial + provides a 30-minute video created for users unfamiliar + with the Yocto Project but familiar with Linux build + hosts. + While this screencast is somewhat dated, the + introductory and fundamental concepts are useful for + the beginner. + + + Yocto Project Overview and Concepts Manual: + The + Yocto Project Overview and Concepts Manual + is a great place to start to learn about the + Yocto Project. + This manual introduces you to the Yocto Project and its + development environment. + The manual also provides conceptual information for + various aspects of the Yocto Project. + + + Yocto Project Wiki: + The + Yocto Project Wiki + provides additional information on where to go next + when ramping up with the Yocto Project, release + information, project planning, and QA information. + + + Yocto Project Mailing Lists: + Related mailing lists provide a forum for discussion, + patch submission and announcements. + Several mailing lists exist and are grouped according + to areas of concern. + See the + "Mailing lists" + section in the Yocto Project Reference Manual for a + complete list of Yocto Project mailing lists. + + + Comprehensive List of Links and Other Documentation: + The + "Links and Related Documentation" + section in the Yocto Project Reference Manual provides a + comprehensive list of all related links and other + user documentation. + + + +
+
+ -- cgit v1.2.3