yocto-project-qs: Created two sub-sections for the "Build" section.

Fixes [YOCTO #10462]

The section that shows how to build images had two examples all
within the same section.  It was suggested to place these examples
in their own sub-sections.  Good suggestion.  I broke them out into
sub-sections titled appropriately.

(From yocto-docs rev: 280f304b9823553754c86a5fa6d0c4065d729e7b)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2016-10-21 12:54:25 -07:00 committed by Richard Purdie
parent 13f3779648
commit d89a35f0a0
1 changed files with 323 additions and 313 deletions

View File

@ -390,8 +390,8 @@
</para> </para>
<para> <para>
You can try out the Yocto Project using the command-line interface To use the Yocto Project through the command-line interface,
by finishing this quick start, which presents steps that let you finish this quick start, which presents steps that let you
do the following: do the following:
<itemizedlist> <itemizedlist>
<listitem><para> <listitem><para>
@ -400,230 +400,239 @@
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Easily change configurations so that you can quickly Easily change configurations so that you can quickly
create a second image, which would be for MinnowBoard create a second image that you can load onto bootable
media and actually boot target hardware.
This example uses the MinnowBoard
MAX-compatible boards. MAX-compatible boards.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
<note> <note>
The steps in this section do not provide detail, but rather The steps in the following two sections do not provide detail,
provide minimal, working commands and examples designed to but rather provide minimal, working commands and examples
just get you started. designed to just get you started.
For more details, see the appropriate manuals in the For more details, see the appropriate manuals in the
<ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>. <ulink url='&YOCTO_HOME_URL;/documentation'>Yocto Project manual set</ulink>.
</note> </note>
</para> </para>
<para> <section id='building-an-image-for-emulation'>
Use the following commands to build your image. <title>Building an Image for Emulation</title>
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> <para>
If you do not know your proxy settings, consult your Use the following commands to build your image.
local network infrastructure resources and get that The OpenEmbedded build system creates an entire Linux
information. distribution, including the toolchain, from source.
A good starting point could also be to check your web <note><title>Note about Network Proxies</title>
browser settings. <para>
Finally, you can find more information on using the By default, the build process searches for source code
Yocto Project behind a firewall in the Yocto Project using a pre-determined order through a set of
Reference Manual locations.
<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> If you are working behind a firewall and your build
and on the host is not set up for proxies, you could encounter
"<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>" problems with the build process when fetching source
wiki page. code (e.g. fetcher failures or Git failures).
</para> </para>
</note>
</para>
<para> <para>
<orderedlist> If you do not know your proxy settings, consult your
<listitem><para><emphasis>Be Sure Your Build Host is Set Up:</emphasis> local network infrastructure resources and get that
The steps to build an image in this section depend on information.
your build host being properly set up. A good starting point could also be to check your web
Be sure you have worked through the requirements browser settings.
described in the Finally, you can find more information on using the
"<link linkend='yp-resources'>Setting Up to Use the Yocto Project</link>" Yocto Project behind a firewall in the Yocto Project
section. Reference Manual
</para></listitem> <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>
<listitem><para><emphasis>Check Out Your Branch:</emphasis> and on the
Be sure you are in the "<ulink url='https://wiki.yoctoproject.org/wiki/Working_Behind_a_Network_Proxy'>Working Behind a Network Proxy</ulink>"
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> wiki page.
(e.g. <filename>poky</filename>) and then check out </para>
the branch associated with the latest Yocto Project </note>
Release: </para>
<literallayout class='monospaced'>
<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 $ cd ~/poky
$ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP; $ git checkout -b &DISTRO_NAME_NO_CAP; origin/&DISTRO_NAME_NO_CAP;
</literallayout> </literallayout>
Git's <filename>checkout</filename> command checks out Git's <filename>checkout</filename> command checks out
the current Yocto Project release into a local branch the current Yocto Project release into a local branch
whose name matches the release (i.e. whose name matches the release (i.e.
<filename>&DISTRO_NAME_NO_CAP;</filename>). <filename>&DISTRO_NAME_NO_CAP;</filename>).
The local branch tracks the upstream branch of the The local branch tracks the upstream branch of the
same name. same name.
Creating your own branch based on the released Creating your own branch based on the released
branch ensures you are using the latest files for branch ensures you are using the latest files for
that release. that release.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Initialize the Build Environment:</emphasis> <listitem><para><emphasis>Initialize the Build Environment:</emphasis>
Run the Run the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
environment setup script to define the OpenEmbedded environment setup script to define the OpenEmbedded
build environment on your build host. build environment on your build host.
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ source &OE_INIT_FILE; $ source &OE_INIT_FILE;
</literallayout> </literallayout>
Among other things, the script creates the Among other things, the script creates the
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>, <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>,
which is <filename>build</filename> in this case which is <filename>build</filename> in this case
and is located in the and is located in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>. <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
After the script runs, your current working directory After the script runs, your current working directory
is set to the Build Directory. is set to the Build Directory.
Later, when the build completes, the Build Directory Later, when the build completes, the Build Directory
contains all the files created during the build. contains all the files created during the build.
<note> <note>
For information on running a memory-resident For information on running a memory-resident
<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>, <ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>,
see the see the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
setup script. setup script.
</note> </note>
</para></listitem> </para></listitem>
<listitem><para><emphasis>Examine Your Local Configuration File:</emphasis> <listitem><para><emphasis>Examine Your Local Configuration File:</emphasis>
When you set up the build environment, a local When you set up the build environment, a local
configuration file named configuration file named
<filename>local.conf</filename> becomes available in <filename>local.conf</filename> becomes available in
a <filename>conf</filename> subdirectory of the a <filename>conf</filename> subdirectory of the
Build Directory. Build Directory.
Before using BitBake to start the build, you can Before using BitBake to start the build, you can
look at this file and be sure your general look at this file and be sure your general
configurations are how you want them: configurations are how you want them:
<itemizedlist> <itemizedlist>
<listitem><para> <listitem><para>
To help conserve disk space during builds, To help conserve disk space during builds,
you can add the following statement to your you can add the following statement to your
project's configuration file, which for this project's configuration file, which for this
example is example is
<filename>poky/build/conf/local.conf</filename>. <filename>poky/build/conf/local.conf</filename>.
Adding this statement deletes the work Adding this statement deletes the work
directory used for building a recipe once the directory used for building a recipe once the
recipe is built. recipe is built.
<literallayout class='monospaced'> <literallayout class='monospaced'>
INHERIT += "rm_work" INHERIT += "rm_work"
</literallayout> </literallayout>
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
By default, the target machine for the build is By default, the target machine for the build is
<filename>qemux86</filename>, <filename>qemux86</filename>,
which produces an image that can be used in which produces an image that can be used in
the QEMU emulator and is targeted at an the QEMU emulator and is targeted at an
<trademark class='registered'>Intel</trademark> <trademark class='registered'>Intel</trademark>
32-bit based architecture. 32-bit based architecture.
Further on in this example, this default is Further on in this example, this default is
easily changed through the easily changed through the
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable so that you can quickly variable so that you can quickly
build an image for a different machine. build an image for a different machine.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Another consideration before you build is the Another consideration before you build is the
package manager used when creating the image. package manager used when creating the image.
The default <filename>local.conf</filename> The default <filename>local.conf</filename>
file selects the RPM package manager. file selects the RPM package manager.
You can control this configuration by using the You can control this configuration by using the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename> <filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></ulink></filename>
variable.</para> variable.</para>
<para>Selection of the package manager is separate <para>Selection of the package manager is separate
from whether package management is used at runtime from whether package management is used at runtime
in the target image.</para> in the target image.</para>
<para>For additional package manager selection <para>For additional package manager selection
information, see the information, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>" "<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'><filename>package.bbclass</filename></ulink>"
section in the Yocto Project Reference Manual. section in the Yocto Project Reference Manual.
</para></listitem> </para></listitem>
</itemizedlist> </itemizedlist>
</para></listitem> </para></listitem>
<listitem><para><emphasis>Start the Build:</emphasis> <listitem><para><emphasis>Start the Build:</emphasis>
Continue with the following command to build an OS image Continue with the following command to build an OS image
for the target, which is for the target, which is
<filename>core-image-sato</filename> in this example: <filename>core-image-sato</filename> in this example:
<note> <note>
Depending on the number of processors and cores, the Depending on the number of processors and cores, the
amount of RAM, the speed of your Internet connection amount of RAM, the speed of your Internet connection
and other factors, the build process could take several and other factors, the build process could take several
hours the first time you run it. hours the first time you run it.
Subsequent builds run much faster since parts of the Subsequent builds run much faster since parts of the
build are cached. build are cached.
</note> </note>
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ bitbake core-image-sato $ bitbake core-image-sato
</literallayout> </literallayout>
For information on using the For information on using the
<filename>bitbake</filename> command, see the <filename>bitbake</filename> command, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>" "<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
section in the Yocto Project Reference Manual, or see the section in the Yocto Project Reference Manual, or see the
"<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>" "<ulink url='&YOCTO_DOCS_BB_URL;#bitbake-user-manual-command'>BitBake Command</ulink>"
section in the BitBake User Manual. section in the BitBake User Manual.
For information on other targets, see the For information on other targets, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
chapter in the Yocto Project Reference Manual. chapter in the Yocto Project Reference Manual.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis> <listitem><para><emphasis>Simulate Your Image Using QEMU:</emphasis>
Once this particular image is built, you can start QEMU Once this particular image is built, you can start QEMU
and run the image: and run the image:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ runqemu qemux86 $ runqemu qemux86
</literallayout> </literallayout>
If you want to learn more about running QEMU, see the 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>" "<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>"
chapter in the Yocto Project Development Manual. chapter in the Yocto Project Development Manual.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Exit QEMU:</emphasis> <listitem><para><emphasis>Exit QEMU:</emphasis>
Exit QEMU by either clicking on the shutdown icon or by Exit QEMU by either clicking on the shutdown icon or by
opening a terminal, typing opening a terminal, typing
<filename>poweroff</filename>, and then pressing "Enter". <filename>poweroff</filename>, and then pressing "Enter".
</para></listitem> </para></listitem>
</orderedlist> </orderedlist>
</para> </para>
</section>
<para id='qs-minnowboard-example'> <section id='building-an-image-for-hardware'>
The following steps show how easy it is to set up to build an <title>Building an Image for Hardware</title>
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> <para id='qs-minnowboard-example'>
<orderedlist> The following steps show how easy it is to set up to build an
<listitem><para><emphasis>Create a Local Copy of the image for a new machine.
<filename>meta-intel</filename> Repository:</emphasis> These steps build an image for the MinnowBoard MAX, which is
Building an image for the MinnowBoard MAX requires the supported by the Yocto Project and the
<filename>meta-intel</filename> layer. <filename>meta-intel</filename> <filename>intel-corei7-64</filename>
Use the <filename>git clone</filename> command to create and <filename>intel-core2-32</filename> Board Support Packages
a local copy of the repository inside your (BSPs).
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>, <note>
which is <filename>poky</filename> in this example: The MinnowBoard MAX ships with 64-bit firmware.
<literallayout class='monospaced'> 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 $ cd $HOME/poky
$ git clone git://git.yoctoproject.org/meta-intel $ git clone git://git.yoctoproject.org/meta-intel
Cloning into 'meta-intel'... Cloning into 'meta-intel'...
@ -633,132 +642,133 @@
remote: Total 11988 (delta 6881), reused 11752 (delta 6645) remote: Total 11988 (delta 6881), reused 11752 (delta 6645)
Resolving deltas: 100% (6881/6881), done. Resolving deltas: 100% (6881/6881), done.
Checking connectivity... done. Checking connectivity... done.
</literallayout> </literallayout>
By default when you clone a Git repository, the By default when you clone a Git repository, the
"master" branch is checked out. "master" branch is checked out.
Before you build your image that uses the Before you build your image that uses the
<filename>meta-intel</filename> layer, you must be <filename>meta-intel</filename> layer, you must be
sure that both repositories sure that both repositories
(<filename>meta-intel</filename> and (<filename>meta-intel</filename> and
<filename>poky</filename>) are using the same releases. <filename>poky</filename>) are using the same releases.
Consequently, you need to checkout out the Consequently, you need to checkout out the
"<filename>&DISTRO_NAME_NO_CAP;</filename>" release after "<filename>&DISTRO_NAME_NO_CAP;</filename>" release after
cloning <filename>meta-intel</filename>: cloning <filename>meta-intel</filename>:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ cd $HOME/poky/meta-intel $ cd $HOME/poky/meta-intel
$ git checkout &DISTRO_NAME_NO_CAP; $ git checkout &DISTRO_NAME_NO_CAP;
Branch &DISTRO_NAME_NO_CAP; set up to track remote branch &DISTRO_NAME_NO_CAP; from origin. 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;' Switched to a new branch '&DISTRO_NAME_NO_CAP;'
</literallayout> </literallayout>
</para></listitem> </para></listitem>
<listitem><para><emphasis>Configure the Build:</emphasis> <listitem><para><emphasis>Configure the Build:</emphasis>
To configure the build, you edit the To configure the build, you edit the
<filename>bblayers.conf</filename> and <filename>bblayers.conf</filename> and
<filename>local.conf</filename> files, both of which are <filename>local.conf</filename> files, both of which are
located in the <filename>build/conf</filename> directory. located in the <filename>build/conf</filename> directory.
</para> </para>
<para>Here is a quick way to make the edits. <para>Here is a quick way to make the edits.
The first command uses the The first command uses the
<filename>bitbake-layers add-layer</filename> command <filename>bitbake-layers add-layer</filename> command
to add the <filename>meta-intel</filename> to add the <filename>meta-intel</filename>
layer, which contains the <filename>intel-core*</filename> layer, which contains the <filename>intel-core*</filename>
BSPs to the build. BSPs to the build.
The second command selects the BSP by setting the The second command selects the BSP by setting the
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable. variable.
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ cd $HOME/poky/build $ cd $HOME/poky/build
$ bitbake-layers add-layer "$HOME/poky/meta-intel" $ bitbake-layers add-layer "$HOME/poky/meta-intel"
$ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf
</literallayout> </literallayout>
<note><title>Notes</title> <note><title>Notes</title>
<para> <para>
If you want a 64-bit build, use the following: If you want a 64-bit build, use the following:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf $ echo 'MACHINE = "intel-corei7-64"' >> conf/local.conf
</literallayout> </literallayout>
</para> </para>
<para> <para>
If you want 32-bit images, use the following: If you want 32-bit images, use the following:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf $ echo 'MACHINE = "intel-core2-32"' >> conf/local.conf
</literallayout> </literallayout>
</para> </para>
</note> </note>
</para></listitem> </para></listitem>
<listitem><para><emphasis>Build an Image for MinnowBoard MAX:</emphasis> <listitem><para><emphasis>Build an Image for MinnowBoard MAX:</emphasis>
The type of image you build depends on your goals. The type of image you build depends on your goals.
For example, the previous build created a For example, the previous build created a
<filename>core-image-sato</filename> image, which is an <filename>core-image-sato</filename> image, which is an
image with Sato support. image with Sato support.
It is possible to build many image types for the It is possible to build many image types for the
MinnowBoard MAX. MinnowBoard MAX.
Some possibilities are <filename>core-image-base</filename>, Some possibilities are <filename>core-image-base</filename>,
which is a console-only image. which is a console-only image.
Another choice could be a Another choice could be a
<filename>core-image-full-cmdline</filename>, which is <filename>core-image-full-cmdline</filename>, which is
another console-only image but has more full-features another console-only image but has more full-features
Linux system functionality installed. Linux system functionality installed.
For types of images you can build using the Yocto For types of images you can build using the Yocto
Project, see the Project, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
chapter in the Yocto Project Reference Manual.</para> chapter in the Yocto Project Reference Manual.</para>
<para>Because configuration changes are minimal to set up <para>Because configuration changes are minimal to set up
for this second build, the OpenEmbedded build system can for this second build, the OpenEmbedded build system can
re-use files from previous builds as much as possible. re-use files from previous builds as much as possible.
Re-using files means this second build will be much faster Re-using files means this second build will be much faster
than an initial build. than an initial build.
For this example, the <filename>core-image-base</filename> For this example, the <filename>core-image-base</filename>
image is built: image is built:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ bitbake core-image-base $ bitbake core-image-base
</literallayout> </literallayout>
Once the build completes, the resulting console-only image Once the build completes, the resulting console-only image
is located in the Build Directory here: is located in the Build Directory here:
<literallayout class='monospaced'> <literallayout class='monospaced'>
tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.hddimg tmp/deploy/images/intel-corei7-64/core-image-base-intel-corei7-64.hddimg
</literallayout> </literallayout>
</para></listitem> </para></listitem>
<listitem><para><emphasis>Write the Image:</emphasis> <listitem><para><emphasis>Write the Image:</emphasis>
You can write the image just built to a bootable media You can write the image just built to a bootable media
(e.g. a USB key, SATA drive, SD card, etc.) using the (e.g. a USB key, SATA drive, SD card, etc.) using the
<filename>dd</filename> utility: <filename>dd</filename> utility:
<literallayout class='monospaced'> <literallayout class='monospaced'>
$ sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.wic of=TARGET_DEVICE $ sudo dd if=tmp/deploy/images/intel-corei7-64/core-image-minimal-intel-corei7-64.wic of=TARGET_DEVICE
</literallayout> </literallayout>
In the previous command, the In the previous command, the
<filename>TARGET_DEVICE</filename> is the device node in <filename>TARGET_DEVICE</filename> is the device node in
the host machine (e.g. <filename>/dev/sdc</filename>, which the host machine (e.g. <filename>/dev/sdc</filename>, which
is most likely a USB stick, or is most likely a USB stick, or
<filename>/dev/mmcblk0</filename>, which is most likely an <filename>/dev/mmcblk0</filename>, which is most likely an
SD card. SD card.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Boot the Hardware:</emphasis> <listitem><para><emphasis>Boot the Hardware:</emphasis>
With the boot device provisioned, you can insert the With the boot device provisioned, you can insert the
media into the MinnowBoard MAX and boot the hardware. media into the MinnowBoard MAX and boot the hardware.
The board should automatically detect the media and boot to The board should automatically detect the media and boot to
the bootloader and subsequently the operating system. the bootloader and subsequently the operating system.
</para> </para>
<para>If the board does not boot automatically, you can <para>If the board does not boot automatically, you can
boot it manually from the EFI shell as follows: boot it manually from the EFI shell as follows:
<literallayout class='monospaced'> <literallayout class='monospaced'>
Shell> connect -r Shell> connect -r
Shell> map -r Shell> map -r
Shell> fs0: Shell> fs0:
Shell> bootx64 Shell> bootx64
</literallayout>
<note>
For a 32-bit image use the following:
<literallayout class='monospaced'>
Shell> bootia32
</literallayout> </literallayout>
</note> <note>
</para></listitem> For a 32-bit image use the following:
</orderedlist> <literallayout class='monospaced'>
</para> Shell> bootia32
</literallayout>
</note>
</para></listitem>
</orderedlist>
</para>
</section>
</section> </section>
<section id='qs-next-steps'> <section id='qs-next-steps'>