diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2016-08-17 14:31:25 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2016-08-22 16:43:26 +0000 |
commit | 60f9d69e016b11c468c98ea75ba0a60c44afbbc4 (patch) | |
tree | ecb49581a9e41a37943c22cd9ef3f63451b20ee7 /import-layers/yocto-poky/documentation/yocto-project-qs/yocto-project-qs.xml | |
parent | e18c61205e0234b03697129c20cc69c9b3940efc (diff) | |
download | blackbird-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.tar.gz blackbird-openbmc-60f9d69e016b11c468c98ea75ba0a60c44afbbc4.zip |
yocto-poky: Move to import-layers subdir
We are going to import additional layers, so create a subdir to
hold all of the layers that we import with git-subtree.
Change-Id: I6f732153a22be8ca663035c518837e3cc5ec0799
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/yocto-poky/documentation/yocto-project-qs/yocto-project-qs.xml')
-rw-r--r-- | import-layers/yocto-poky/documentation/yocto-project-qs/yocto-project-qs.xml | 848 |
1 files changed, 848 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/documentation/yocto-project-qs/yocto-project-qs.xml b/import-layers/yocto-poky/documentation/yocto-project-qs/yocto-project-qs.xml new file mode 100644 index 000000000..c09e971d6 --- /dev/null +++ b/import-layers/yocto-poky/documentation/yocto-project-qs/yocto-project-qs.xml @@ -0,0 +1,848 @@ +<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" +"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" +[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] > + +<article id='yocto-project-qs-intro'> + <articleinfo> + <title>Yocto Project Quick Start</title> + + <copyright> + <year>©RIGHT_YEAR;</year> + <holder>Linux Foundation</holder> + </copyright> + + <legalnotice> + <para> + Permission is granted to copy, distribute and/or modify this document under + the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England & Wales</ulink> as published by Creative Commons. + </para> + <note> + For the latest version of this manual associated with this + Yocto Project release, see the + <ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> + from the Yocto Project website. + </note> + </legalnotice> + + + <abstract> + <imagedata fileref="figures/yocto-project-transp.png" + width="6in" depth="1in" + align="right" scale="25" /> + </abstract> + </articleinfo> + + <section id='welcome'> + <title>Welcome!</title> + <para> + Welcome to the Yocto Project! + The Yocto Project is an open-source collaboration project whose + focus is developers of embedded Linux systems. + Among other things, the Yocto Project uses a build host based + on the OpenEmbedded (OE) project, which uses the + <ulink url='&YOCTO_DOCS_DEV_URL;#bitbake-term'>BitBake</ulink> + tool, to construct complete Linux images. + The BitBake and OE components are combined together to form + a reference build host, historically known as + <ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink>. + </para> + + <para> + If you do not have a system that runs Linux and you want to give + the Yocto Project a test run, you might consider using the Yocto + Project Build Appliance. + The Build Appliance allows you to build and boot a custom embedded + Linux image with the Yocto Project using a non-Linux development + system. + See the + <ulink url='https://www.yoctoproject.org/tools-resources/projects/build-appliance'>Yocto Project Build Appliance</ulink> + for more information. + </para> + + <para> + This quick start is written so that you can quickly get a + build host set up to use the Yocto Project and then build some + Linux images. + Rather than go into great detail about the Yocto Project and its + many capabilities, this quick start provides the minimal + information you need to try out the Yocto Project using a + supported Linux build host. + Reading and using the quick start should result in you having a + basic understanding of what the Yocto Project is and how to use + some of its core components. + You will also have worked through steps to produce two images: + one that is suitable for emulation and one that boots on actual + hardware. + The examples highlight the ease with which you can use the + Yocto Project to create images for multiple types of hardware. + </para> + + <para> + For more detailed information on the Yocto Project, you can + reference these resources: + <itemizedlist> + <listitem><para><emphasis>Website:</emphasis> + The + <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink> + provides the latest builds, breaking news, full development + documentation, and access to a rich Yocto Project + Development Community into which you can tap. + </para></listitem> + <listitem><para><emphasis>FAQs:</emphasis> + Lists commonly asked Yocto Project questions and answers. + You can find two FAQs: + <ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>Yocto Project FAQ</ulink> + on a wiki, and the + "<ulink url='&YOCTO_DOCS_REF_URL;#faq'>FAQ</ulink>" + chapter in the Yocto Project Reference Manual. + </para></listitem> + <listitem><para><emphasis>Developer Screencast:</emphasis> + The + <ulink url='http://vimeo.com/36450321'>Getting Started with the Yocto Project - New Developer Screencast Tutorial</ulink> + 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. + </para></listitem> + </itemizedlist> + </para> + </section> + + <section id='yp-intro'> + <title>Introducing the Yocto Project Development Environment</title> + + <para> + The Yocto Project through the OpenEmbedded build system provides an + open source development environment targeting the ARM, MIPS, + PowerPC, and x86 architectures for a variety of platforms + including x86-64 and emulated ones. + You can use components from the Yocto Project to design, develop, + build, debug, simulate, and test the complete software stack using + Linux, the X Window System, GTK+ frameworks, and Qt frameworks. + </para> + + <mediaobject> + <imageobject> + <imagedata fileref="figures/yocto-environment.png" + format="PNG" align='center' scalefit='1' width="100%"/> + </imageobject> + <caption> + <para>The Yocto Project Development Environment</para> + </caption> + </mediaobject> + + <para> + Here are some highlights for the Yocto Project: + </para> + + <itemizedlist> + <listitem><para> + Provides a recent Linux kernel along with a set of system + commands and libraries suitable for the embedded + environment. + </para></listitem> + <listitem><para> + Makes available system components such as X11, GTK+, Qt, + Clutter, and SDL (among others) so you can create a rich user + experience on devices that have display hardware. + For devices that do not have a display or where you wish to + use alternative UI frameworks, these components need not be + installed. + </para></listitem> + <listitem><para> + Creates a focused and stable core compatible with the + OpenEmbedded project with which you can easily and reliably + build and develop. + </para></listitem> + <listitem><para> + Fully supports a wide range of hardware and device emulation + through the Quick EMUlator (QEMU). + </para></listitem> + <listitem><para> + Provides a layer mechanism that allows you to easily extend + the system, make customizations, and keep them organized. + </para></listitem> + </itemizedlist> + + <para> + You can use the Yocto Project to generate images for many kinds + of devices. + As mentioned earlier, the Yocto Project supports creation of + reference images that you can boot within and emulate using QEMU. + The standard example machines target QEMU full-system + emulation for 32-bit and 64-bit variants of x86, ARM, MIPS, and + PowerPC architectures. + Beyond emulation, you can use the layer mechanism to extend + support to just about any platform that Linux can run on and that + a toolchain can target. + </para> + + <para> + Another Yocto Project feature is the Sato reference User + Interface. + This optional UI that is based on GTK+ is intended for devices with + restricted screen sizes and is included as part of the + OpenEmbedded Core layer so that developers can test parts of the + software stack. + </para> + </section> + + <section id='yp-resources'> + <title>Setting Up to Use the Yocto Project</title> + + <para> + The following list shows what you need in order to use a + Linux-based build host to use the Yocto Project to build images: + </para> + + <itemizedlist> + <listitem><para><emphasis>Build Host</emphasis> + A build host with a minimum of 50 Gbytes of free disk + space that is running a supported Linux distribution (i.e. + recent releases of Fedora, openSUSE, CentOS, Debian, or + Ubuntu). + </para></listitem> + <listitem><para><emphasis>Build Host Packages</emphasis> + Appropriate packages installed on the build host. + </para></listitem> + <listitem><para><emphasis>The Yocto Project</emphasis> + A release of the Yocto Project. + </para></listitem> + </itemizedlist> + + <section id='the-linux-distro'> + <title>The Linux Distribution</title> + + <para> + The Yocto Project team verifies each release against recent + versions of the most popular Linux distributions that + provide stable releases. + In general, if you have the current release minus one of the + following distributions, you should have no problems. + <itemizedlist> + <listitem><para> + Ubuntu + </para></listitem> + <listitem><para> + Fedora + </para></listitem> + <listitem><para> + openSUSE + </para></listitem> + <listitem><para> + CentOS + </para></listitem> + <listitem><para> + Debian + </para></listitem> + </itemizedlist> + For a more detailed list of distributions that support the + Yocto Project, see the + "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" + section in the Yocto Project Reference Manual. + </para> + + <para> + The OpenEmbedded build system should be able to run on any + modern distribution that has the following versions for + Git, tar, and Python. + <itemizedlist> + <listitem><para> + Git 1.8.3.1 or greater + </para></listitem> + <listitem><para> + tar 1.24 or greater + </para></listitem> + <listitem><para> + Python 2.7.3 or greater excluding Python + 3.x, which is not supported. + </para></listitem> + </itemizedlist> + 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 + "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>" + section in the Yocto Project Reference Manual for information. + </para> + </section> + + <section id='packages'> + <title>The Build Host Packages</title> + + <para> + Required build host packages vary depending on your + build machine and what you want to do with the Yocto Project. + For example, if you want to build an image that can run + on QEMU in graphical mode (a minimal, basic build + requirement), then the build host package requirements + are different than if you want to build an image on a headless + system or build out the Yocto Project documentation set. + </para> + + <para> + Collectively, the number of required packages is large + if you want to be able to cover all cases. + <note> + In general, you need to have root access and then install + the required packages. + Thus, the commands in the following section may or may + not work depending on whether or not your Linux + distribution has <filename>sudo</filename> installed. + </note> + </para> + + <para> + The following list shows the required packages needed to build + an image that runs on QEMU in graphical mode (e.g. essential + plus graphics support). + For lists of required packages for other scenarios, see the + "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" + section in the Yocto Project Reference Manual. + <itemizedlist> + <listitem><para><emphasis>Ubuntu and Debian</emphasis> + <literallayout class='monospaced'> + $ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm + </literallayout> + </para></listitem> + <listitem><para><emphasis>Fedora</emphasis> + <literallayout class='monospaced'> + $ sudo dnf install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm + </literallayout> + </para></listitem> + <listitem><para><emphasis>OpenSUSE</emphasis> + <literallayout class='monospaced'> + $ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm + </literallayout> + </para></listitem> + <listitem><para><emphasis>CentOS</emphasis> + <literallayout class='monospaced'> + $ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm + </literallayout> + <note> + CentOS 6.x users need to ensure that the required + versions of Git, tar and Python are available. + For details, See the + "<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>" + section in the Yocto Project Reference Manual for + information. + </note> + </para></listitem> + </itemizedlist> + </para> + </section> + + <section id='releases'> + <title>Yocto Project Release</title> + + <para> + The last requirement you need to meet before using the + Yocto Project is getting a Yocto Project release. + It is recommended that you get the latest Yocto Project release + by setting up (cloning in + <ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink> terms) a + local copy of the <filename>poky</filename> Git repository on + your build host and then checking out the latest release. + Doing so allows you to easily update to newer Yocto Project + releases as well as contribute back to the Yocto Project. + </para> + + <para> + Here is an example from an Ubuntu build host that clones the + <filename>poky</filename> repository and then checks out the + latest Yocto Project Release (i.e. &DISTRO;): + <literallayout class='monospaced'> + $ git clone git://git.yoctoproject.org/poky + Cloning into 'poky'... + remote: Counting objects: 226790, done. + remote: Compressing objects: 100% (57465/57465), done. + remote: Total 226790 (delta 165212), reused 225887 (delta 164327) + Receiving objects: 100% (226790/226790), 100.98 MiB | 263 KiB/s, done. + Resolving deltas: 100% (165212/165212), done. + $ git checkout &DISTRO_NAME_NO_CAP; + </literallayout> + You can also get the Yocto Project Files by downloading + Yocto Project releases from the + <ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>. + </para> + + <para> + For more information on getting set up with the Yocto Project + release, see the + "<ulink url='&YOCTO_DOCS_DEV_URL;#local-yp-release'>Yocto Project Release</ulink>" + item in the Yocto Project Development Manual. + </para> + </section> + </section> + + <section id='qs-building-images'> + <title>Building Images</title> + + <para> + Now that you have your system requirements in order, you can give + Yocto Project a try. + You can try out Yocto Project using either the command-line + interface or using Toaster, which uses a graphical user + interface. + If you want to try out the Yocto Project using a GUI, see the + <ulink url='&YOCTO_DOCS_TOAST_URL;'>Toaster User Manual</ulink> + for information on how to install and set up Toaster. + </para> + + <para> + You can try out the Yocto Project using the command-line interface + by finishing this quick start, which presents steps that let you + do the following: + <itemizedlist> + <listitem><para> + Build a <filename>qemux86</filename> reference image + and run it in the QEMU emulator. + </para></listitem> + <listitem><para> + Easily change configurations so that you can quickly + create a second image, which would be for MinnowBoard + MAX-compatible boards. + </para></listitem> + </itemizedlist> + <note> + The steps in this section do not provide detail, but rather + provide minimal, working commands and examples designed to + just get you started. + For more details, see the appropriate manuals in the + <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>. + </note> + </para> + + <para> + Use the following commands to build your image. + The OpenEmbedded build system creates an entire Linux + distribution, including the toolchain, from source. + <note><title>Note about Network Proxies</title> + <para> + By default, the build process searches for source code + using a pre-determined order through a set of + locations. + 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). + </para> + + <para> + 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 using the + Yocto Project behind a firewall in the Yocto Project + Reference Manual + <ulink url='&YOCTO_DOCS_REF_URL;#how-does-the-yocto-project-obtain-source-code-and-will-it-work-behind-my-firewall-or-proxy-server'>FAQ</ulink> + and on the + "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>" + wiki page. + </para> + </note> + </para> + + <para> + <orderedlist> + <listitem><para><emphasis>Be Sure Your Build Host is Set Up:</emphasis> + The steps to build an image in this section depend on + your build host being properly set up. + Be sure you have worked through the requirements + described in the + "<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>" + section. + </para></listitem> + <listitem><para><emphasis>Check Out Your Branch:</emphasis> + Be sure you are in the + <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> + (e.g. <filename>poky</filename>) and then check out + the branch associated with the latest Yocto Project + Release: + <literallayout class='monospaced'> + $ cd ~/poky + $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; + </literallayout> + Git's <filename>checkout</filename> command checks out + the current Yocto Project release into a local branch + whose name matches the release (i.e. + <filename>&DISTRO_NAME_NO_CAP;</filename>). + The local branch tracks the upstream branch of the + same name. + Creating your own branch based on the released + branch ensures you are using the latest files for + that release. + </para></listitem> + <listitem><para><emphasis>Initialize the Build Environment:</emphasis> + Run the + <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> + environment setup script to define the OpenEmbedded + build environment on your build host. + <literallayout class='monospaced'> + $ source &OE_INIT_FILE; + </literallayout> + Among other things, the script creates the + <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, + which is <filename>build</filename> in this case + and is located in the + <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. + 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. + <note> + For information on running a memory-resident + <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>, + see the + <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink> + setup script. + </note> + </para></listitem> + <listitem><para><emphasis>Examine Your Local Configuration File:</emphasis> + When you set up the build environment, a local + configuration file named + <filename>local.conf</filename> becomes available in + a <filename>conf</filename> subdirectory of the + Build Directory. + Before using BitBake to start the build, you can + look at this file and be sure your general + configurations are how you want them: + <itemizedlist> + <listitem><para> + To help conserve disk space during builds, + you can add the following statement to your + project's configuration file, which for this + example is + <filename>poky/build/conf/local.conf</filename>. + Adding this statement deletes the work + directory used for building a recipe once the + recipe is built. + <literallayout class='monospaced'> + INHERIT += "rm_work" + </literallayout> + </para></listitem> + <listitem><para> + By default, the target machine for the build is + <filename>qemux86</filename>, + which produces an image that can be used in + the QEMU emulator and is targeted at an + <trademark class='registered'>Intel</trademark> + 32-bit based architecture. + Further on in this example, this default is + easily changed through the + <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> + variable so that you can quickly + build an image for a different machine. + </para></listitem> + <listitem><para> + Another consideration before you build is the + package manager used when creating the image. + The default <filename>local.conf</filename> + file selects the RPM package manager. + You can control this configuration by using the + <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> + variable.</para> + <para>Selection of the package manager is separate + from whether package management is used at runtime + in the target image.</para> + <para>For additional package manager selection + information, see the + "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>" + section in the Yocto Project Reference Manual. + </para></listitem> + </itemizedlist> + </para></listitem> + <listitem><para><emphasis>Start the Build:</emphasis> + Continue with the following command to build an OS image + for the target, which is + <filename>core-image-sato</filename> in this example: + <note> + Depending on the number of processors and cores, the + amount of RAM, the speed of your Internet connection + and other factors, the build process could take several + hours the first time you run it. + Subsequent builds run much faster since parts of the + build are cached. + </note> + <literallayout class='monospaced'> + $ bitbake core-image-sato + </literallayout> + For information on using the + <filename>bitbake</filename> command, see the + "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" + section in the Yocto Project Reference Manual, or see the + "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>" + section in the BitBake User Manual. + For information on other targets, see the + "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" + chapter in the Yocto Project Reference Manual. + </para></listitem> + <listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis> + Once this particular image is built, you can start QEMU + and run the image: + <literallayout class='monospaced'> + $ runqemu qemux86 + </literallayout> + If you want to learn more about running QEMU, see the + "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>" + chapter in the Yocto Project Development Manual. + </para></listitem> + <listitem><para><emphasis>Exit QEMU:</emphasis> + Exit QEMU by either clicking on the shutdown icon or by + opening a terminal, typing + <filename>poweroff</filename>, and then pressing "Enter". + </para></listitem> + </orderedlist> + </para> + + <para id='qs-minnowboard-example'> + The following steps show how easy it is to set up to build an + image for a new machine. + These steps build an image for the MinnowBoard MAX, which is + supported by the Yocto Project and the + <filename>meta-intel</filename> <filename>intel-corei7-64</filename> + and <filename>intel-core2-32</filename> Board Support Packages + (BSPs). + <note> + The MinnowBoard MAX ships with 64-bit firmware. + If you want to use the board in 32-bit mode, you must + download the + <ulink url='http://firmware.intel.com/projects/minnowboard-max'>32-bit firmware</ulink>. + </note> + </para> + + <para> + <orderedlist> + <listitem><para><emphasis>Create a Local Copy of the + <filename>meta-intel</filename> Repository:</emphasis> + Building an image for the MinnowBoard MAX requires the + <filename>meta-intel</filename> layer. + Use the <filename>git clone</filename> command to create + a local copy of the repository inside your + <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, + which is <filename>poky</filename> in this example: + <literallayout class='monospaced'> + $ cd $HOME/poky + $ git clone git://git.yoctoproject.org/meta-intel + Cloning into 'meta-intel'... + remote: Counting objects: 11988, done. + remote: Compressing objects: 100% (3884/3884), done. + Receiving objects: 100% (11988/11988), 2.93 MiB | 2.51 MiB/s, done. + remote: Total 11988 (delta 6881), reused 11752 (delta 6645) + Resolving deltas: 100% (6881/6881), done. + Checking connectivity... done. + </literallayout> + By default when you clone a Git repository, the + "master" branch is checked out. + Before you build your image that uses the + <filename>meta-intel</filename> layer, you must be + sure that both repositories + (<filename>meta-intel</filename> and + <filename>poky</filename>) are using the same releases. + Consequently, you need to checkout out the + "<filename>&DISTRO_NAME_NO_CAP;</filename>" release after + cloning <filename>meta-intel</filename>: + <literallayout class='monospaced'> + $ cd $HOME/poky/meta-intel + $ git checkout &DISTRO_NAME_NO_CAP; + Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin. + Switched to a new branch '&DISTRO_NAME_NO_CAP;' + </literallayout> + </para></listitem> + <listitem><para><emphasis>Configure the Build:</emphasis> + To configure the build, you edit the + <filename>bblayers.conf</filename> and + <filename>local.conf</filename> files, both of which are + located in the <filename>build/conf</filename> directory. + </para> + + <para>Here is a quick way to make the edits. + The first command uses the + <filename>bitbake-layers add-layer</filename> command + to add the <filename>meta-intel</filename> + layer, which contains the <filename>intel-core*</filename> + BSPs to the build. + The second command selects the BSP by setting the + <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> + variable. + <literallayout class='monospaced'> + $ cd $HOME/poky/build + $ bitbake-layers add-layer "$HOME/poky/meta-intel" + $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf + </literallayout> + <note><title>Notes</title> + <para> + If you want a 64-bit build, use the following: + <literallayout class='monospaced'> + $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf + </literallayout> + </para> + + <para> + If you want 32-bit images, use the following: + <literallayout class='monospaced'> + $ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf + </literallayout> + </para> + </note> + </para></listitem> + <listitem><para><emphasis>Build a Minimal Image for MinnowBoard MAX:</emphasis> + Use the following command to build the minimal image for + MinnowBoard MAX. + Because configuration changes are minimal to set up for + this second build, the OpenEmbedded build system can + re-use files from previous builds as much as possible. + Re-using files means this second build will be much faster + than an initial build. + <literallayout class='monospaced'> + $ bitbake core-image-minimal + </literallayout> + Once the build completes, the resulting basic console image + is located in the Build Directory here: + <literallayout class='monospaced'> + tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg + </literallayout> + </para></listitem> + <listitem><para><emphasis>Write the Image:</emphasis> + You can write the image to a USB key, SATA drive, or SD + card by using the <filename>mkefidisk.sh</filename> script, + which is included in the <filename>poky</filename> + repository at + <filename>scripts/contrib/mkefidisk.sh</filename>: + <literallayout class='monospaced'> + $ sudo $HOME/source/poky/scripts/contrib/mkefidisk.sh <replaceable>HOST_DEVICE</replaceable> \ + tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.hddimg <replaceable>TARGET_DEVICE</replaceable> + </literallayout> + In the previous command, + <replaceable>HOST_DEVICE</replaceable> is the device node + on the build host (e.g. <filename>/dev/sdc</filename> or + <filename>/dev/mmcblk0</filename>). + <replaceable>TARGET_DEVICE</replaceable> is the name of the + device as the MinnowBoard MAX sees it (e.g. + <filename>/dev/sda</filename> or + <filename>/dev/mmcblk0</filename>). + </para></listitem> + <listitem><para><emphasis>Boot the Hardware:</emphasis> + With the boot device provisioned, you can insert the + media into the MinnowBoard MAX and boot the hardware. + The board should automatically detect the media and boot to + the bootloader and subsequently the operating system. + </para> + + <para>If the board does not boot automatically, you can + boot it manually from the EFI shell as follows: + <literallayout class='monospaced'> + Shell> connect -r + Shell> map -r + Shell> fs0: + Shell> bootx64 + </literallayout> + <note> + For a 32-bit image use the following: + <literallayout class='monospaced'> + Shell> bootia32 + </literallayout> + </note> + </para></listitem> + </orderedlist> + </para> + </section> + + <section id='qs-next-steps'> + <title>Next Steps</title> + + <para> + If you completed all the steps in the previous section then + congratulations! + What now? + </para> + + <para> + Depending on what you primary interests are with the Yocto Project, + you could consider any of the following: + <itemizedlist> + <listitem><para><emphasis>Visit the Yocto Project Web Site:</emphasis> + The official + <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> + web site contains information on the entire project. + Visiting this site is a good way to familiarize yourself + with the overall project. + </para></listitem> + <listitem><para><emphasis>Look Through the Yocto Project Development Manual:</emphasis> + The + <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-intro'>Yocto Project Development Manual</ulink> + is a great place to get a feel for how to use the Yocto + Project. + The manual contains conceptual and procedural information + that covers + <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-model'>common development models</ulink> + and introduces + <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-newbie'>the Yocto Project open source development environment</ulink>. + The manual also contains several targeted sections that + cover specific + <ulink url='&YOCTO_DOCS_DEV_URL;#extendpoky'>common tasks</ulink> + such as understanding and creating layers, customizing + images, writing new recipes, working with libraries, and + configuring and patching the kernel. + </para></listitem> + <listitem><para><emphasis>Look Through the Yocto Project Software Development Kit (SDK) Developer's Guide:</emphasis> + The + <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink> + describes how to use both the + <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-using-the-standard-sdk'>standard SDK</ulink> + and the + <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>extensible SDK</ulink>, + which are used primarily for application development. + This manual also provides an example workflow that uses + the popular <trademark class='trade'>Eclipse</trademark> + development environment. + See the + "<ulink url='&YOCTO_DOCS_SDK_URL;#workflow-using-eclipse'>Workflow using Eclipse™</ulink>" + section. + </para></listitem> + <listitem><para><emphasis>Learn About Board Support Packages (BSPs):</emphasis> + If you want to learn about BSPs, see the + <ulink url='&YOCTO_DOCS_BSP_URL;#bsp'>Yocto Project Board Support Packages (BSP) Developer's Guide</ulink>. + </para></listitem> + <listitem><para><emphasis>Learn About Toaster:</emphasis> + Toaster is a web interface to the Yocto Project's + OpenEmbedded build system. + If you are interested in using this type of interface to + create images, see the + <ulink url='&YOCTO_DOCS_TOAST_URL;#toaster-manual-intro'>Toaster User Manual</ulink>. + </para></listitem> + <listitem><para><emphasis>Have Available the Yocto Project Reference Manual</emphasis> + The + <ulink url='&YOCTO_DOCS_REF_URL;#ref-manual-intro'>Yocto Project Reference Manual</ulink>, + unlike the rest of the Yocto Project manual set, is + comprised of material suited for reference rather than + procedures. + You can get + <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky'>build details</ulink>, + a + <ulink url='&YOCTO_DOCS_REF_URL;#closer-look'>closer look</ulink> + at how the pieces of the Yocto Project development + environment work together, information on various + <ulink url='&YOCTO_DOCS_REF_URL;#technical-details'>technical details</ulink>, + guidance on + <ulink url='&YOCTO_DOCS_REF_URL;#migration'>migrating to a newer Yocto Project release</ulink>, + reference material on the + <ulink url='&YOCTO_DOCS_REF_URL;#ref-structure'>directory structure</ulink>, + <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes'>classes</ulink>, + and + <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks'>tasks</ulink>. + The Yocto Project Reference Manual also contains a fairly + comprehensive + <ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glossary'>glossary of variables</ulink> + used within the Yocto Project. + </para></listitem> + </itemizedlist> + </para> + </section> +</article> +<!-- +vim: expandtab tw=80 ts=4 +--> |