From 00e061b56455e8bc6ab937a8114386f921f53fa5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 15 Oct 2010 15:08:01 +0100 Subject: documentation: Add Yocto quickstart guide Signed-off-by: Richard Purdie --- documentation/yocto-project-qs/Makefile | 32 + .../yocto-project-qs/figures/building-an-image.png | Bin 0 -> 13954 bytes .../figures/cropped-yocto-project-bw.png | Bin 0 -> 5453 bytes .../figures/using-a-pre-built-image.png | Bin 0 -> 12131 bytes .../yocto-project-qs/figures/white-on-black.png | Bin 0 -> 18296 bytes .../yocto-project-qs/figures/yocto-environment.png | Bin 0 -> 62764 bytes .../figures/yocto-project-transp.png | Bin 0 -> 8626 bytes documentation/yocto-project-qs/style.css | 963 +++++++++++++++++++++ .../yocto-project-qs-customization.xsl | 8 + .../yocto-project-qs/yocto-project-qs.xml | 307 +++++++ 10 files changed, 1310 insertions(+) create mode 100644 documentation/yocto-project-qs/Makefile create mode 100755 documentation/yocto-project-qs/figures/building-an-image.png create mode 100755 documentation/yocto-project-qs/figures/cropped-yocto-project-bw.png create mode 100755 documentation/yocto-project-qs/figures/using-a-pre-built-image.png create mode 100755 documentation/yocto-project-qs/figures/white-on-black.png create mode 100755 documentation/yocto-project-qs/figures/yocto-environment.png create mode 100755 documentation/yocto-project-qs/figures/yocto-project-transp.png create mode 100644 documentation/yocto-project-qs/style.css create mode 100644 documentation/yocto-project-qs/yocto-project-qs-customization.xsl create mode 100644 documentation/yocto-project-qs/yocto-project-qs.xml (limited to 'documentation/yocto-project-qs') diff --git a/documentation/yocto-project-qs/Makefile b/documentation/yocto-project-qs/Makefile new file mode 100644 index 0000000000..9f45058c51 --- /dev/null +++ b/documentation/yocto-project-qs/Makefile @@ -0,0 +1,32 @@ +XSLTOPTS = --stringparam html.stylesheet style.css \ + --xinclude + +XSL_BASE_URI = http://docbook.sourceforge.net/release/xsl/current +XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl + +all: html tarball + +## +# These URI should be rewritten by your distribution's xml catalog to +# match your localy installed XSL stylesheets. + +html: +# See http://www.sagehill.net/docbookxsl/HtmlOutput.html + +# xsltproc $(XSLTOPTS) -o yocto-project-qs.html $(XSL_XHTML_URI) yocto-project-qs.xml + xsltproc $(XSLTOPTS) -o yocto-project-qs.html yocto-project-qs-customization.xsl yocto-project-qs.xml + +tarball: html + tar -cvzf yocto-project-qs.tgz yocto-project-qs.html style.css figures/yocto-environment.png figures/building-an-image.png figures/using-a-pre-built-image.png figures/yocto-project-transp.png + +validate: + xmllint --postvalid --xinclude --noout yocto-project-qs.xml + +OUTPUTS = yocto-project-qs.tgz yocto-project-qs.html +SOURCES = *.png *.xml *.css + +publish: + scp -r $(OUTPUTS) $(SOURCES) o-hand.com:/srv/www/pokylinux.org/doc/ + +clean: + rm -f $(OUTPUTS) diff --git a/documentation/yocto-project-qs/figures/building-an-image.png b/documentation/yocto-project-qs/figures/building-an-image.png new file mode 100755 index 0000000000..eb0ee07a4c Binary files /dev/null and b/documentation/yocto-project-qs/figures/building-an-image.png differ diff --git a/documentation/yocto-project-qs/figures/cropped-yocto-project-bw.png b/documentation/yocto-project-qs/figures/cropped-yocto-project-bw.png new file mode 100755 index 0000000000..561333b146 Binary files /dev/null and b/documentation/yocto-project-qs/figures/cropped-yocto-project-bw.png differ diff --git a/documentation/yocto-project-qs/figures/using-a-pre-built-image.png b/documentation/yocto-project-qs/figures/using-a-pre-built-image.png new file mode 100755 index 0000000000..2e8f295ad6 Binary files /dev/null and b/documentation/yocto-project-qs/figures/using-a-pre-built-image.png differ diff --git a/documentation/yocto-project-qs/figures/white-on-black.png b/documentation/yocto-project-qs/figures/white-on-black.png new file mode 100755 index 0000000000..075b4f2949 Binary files /dev/null and b/documentation/yocto-project-qs/figures/white-on-black.png differ diff --git a/documentation/yocto-project-qs/figures/yocto-environment.png b/documentation/yocto-project-qs/figures/yocto-environment.png new file mode 100755 index 0000000000..a3bf23e9c4 Binary files /dev/null and b/documentation/yocto-project-qs/figures/yocto-environment.png differ diff --git a/documentation/yocto-project-qs/figures/yocto-project-transp.png b/documentation/yocto-project-qs/figures/yocto-project-transp.png new file mode 100755 index 0000000000..31d2b147fd Binary files /dev/null and b/documentation/yocto-project-qs/figures/yocto-project-transp.png differ diff --git a/documentation/yocto-project-qs/style.css b/documentation/yocto-project-qs/style.css new file mode 100644 index 0000000000..2abfa7b5bb --- /dev/null +++ b/documentation/yocto-project-qs/style.css @@ -0,0 +1,963 @@ +/* + Generic XHTML / DocBook XHTML CSS Stylesheet. + + Browser wrangling and typographic design by + Oyvind Kolas / pippin@gimp.org + + Customised for Poky by + Matthew Allum / mallum@o-hand.com + + Thanks to: + Liam R. E. Quin + William Skaggs + Jakub Steiner + + Structure + --------- + + The stylesheet is divided into the following sections: + + Positioning + Margins, paddings, width, font-size, clearing. + Decorations + Borders, style + Colors + Colors + Graphics + Graphical backgrounds + Nasty IE tweaks + Workarounds needed to make it work in internet explorer, + currently makes the stylesheet non validating, but up until + this point it is validating. + Mozilla extensions + Transparency for footer + Rounded corners on boxes + +*/ + + + /*************** / + / Positioning / +/ ***************/ + +body { + font-family: Verdana, Sans, sans-serif; + + min-width: 640px; + width: 80%; + margin: 0em auto; + padding: 2em 5em 5em 5em; + color: #333; +} + +h1,h2,h3,h4,h5,h6,h7 { + font-family: Arial, Sans; + color:#999999; + clear: both; +} + +h1 { + font-size: 2em; + text-align: left; + padding: 0em 0em 0em 0em; + margin: 2em 0em 0em 0em; +} + +h2.subtitle { + margin: 0.10em 0em 3.0em 0em; + padding: 0em 0em 0em 0em; + font-size: 1.8em; + padding-left: 20%; + font-weight: normal; + font-style: italic; +} + +h2 { + margin: 2em 0em 0.66em 0em; + padding: 0.5em 0em 0em 0em; + font-size: 1.5em; + font-weight: normal; +} + +h3.subtitle { + margin: 0em 0em 1em 0em; + padding: 0em 0em 0em 0em; + font-size: 142.14%; + text-align: right; +} + +h3 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 140%; + font-weight: normal; +} + +h4 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 120%; + font-weight: normal; +} + +h5 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 110.000%; + border-bottom: 1px solid black; +} + +h6 { + margin: 1em 0em 0em 0em; + padding: 1em 0em 0em 0em; + font-size: 80%; + font-weight: normal; +} + +.authorgroup { + background-color: transparent; + background-repeat: no-repeat; + padding-top: 256px; + background-image: url("../figures/yocto-project-bw.png"); + background-position: top; + margin-top: -256px; + padding-right: 50px; + margin-left: 50px; + text-align: center; + width: 600px; +} + +h3.author { + margin: 0em 0me 0em 0em; + padding: 0em 0em 0em 0em; + font-weight: normal; + font-size: 100%; + clear: both; +} + +.author tt.email { + font-size: 66%; +} + +.titlepage hr { + width: 0em; + clear: both; +} + +.revhistory { + padding-top: 2em; + clear: both; +} + +.toc, +.list-of-tables, +.list-of-examples, +.list-of-figures { + padding: 1.33em 0em 2.5em 0em; +} + +.toc p, +.list-of-tables p, +.list-of-figures p, +.list-of-examples p { + padding: 0em 0em 0em 0em; + padding: 0em 0em 0.3em; + margin: 1.5em 0em 0em 0em; +} + +.toc p b, +.list-of-tables p b, +.list-of-figures p b, +.list-of-examples p b{ + font-size: 100.0%; + font-weight: bold; +} + +.toc dl, +.list-of-tables dl, +.list-of-figures dl, +.list-of-examples dl { + margin: 0em 0em 0.5em 0em; + padding: 0em 0em 0em 0em; +} + +.toc dt { + margin: 0em 0em 0em 0em; + padding: 0em 0em 0em 0em; +} + +.toc dd { + margin: 0em 0em 0em 2.6em; + padding: 0em 0em 0em 0em; +} + +div.glossary dl, +div.variablelist dl { +} + +.glossary dl dt, +.variablelist dl dt, +.variablelist dl dt span.term { + font-weight: normal; + width: 20em; + text-align: right; +} + +.variablelist dl dt { + margin-top: 0.5em; +} + +.glossary dl dd, +.variablelist dl dd { + margin-top: -1em; + margin-left: 25.5em; +} + +.glossary dd p, +.variablelist dd p { + margin-top: 0em; + margin-bottom: 1em; +} + + +div.calloutlist table td { + padding: 0em 0em 0em 0em; + margin: 0em 0em 0em 0em; +} + +div.calloutlist table td p { + margin-top: 0em; + margin-bottom: 1em; +} + +div p.copyright { + text-align: left; +} + +div.legalnotice p.legalnotice-title { + margin-bottom: 0em; +} + +p { + line-height: 1.5em; + margin-top: 0em; + color: black; font-size: 100%; + +} + +dl { + padding-top: 0em; +} + +hr { + border: solid 1px; +} + + +.mediaobject, +.mediaobjectco { + text-align: center; +} + +img { + border: none; +} + +ul { + padding: 0em 0em 0em 1.5em; +} + +ul li { + padding: 0em 0em 0em 0em; +} + +ul li p { + text-align: left; +} + +table { + width :100%; +} + +th { + padding: 0.25em; + text-align: left; + font-weight: normal; + vertical-align: top; +} + +td { + padding: 0.25em; + vertical-align: top; +} + +p a[id] { + margin: 0px; + padding: 0px; + display: inline; + background-image: none; +} + +a { + text-decoration: underline; + color: #444; +} + +pre { + overflow: auto; +} + +a:hover { + text-decoration: underline; + /*font-weight: bold;*/ +} + + +div.informalfigure, +div.informalexample, +div.informaltable, +div.figure, +div.table, +div.example { + margin: 1em 0em; + padding: 1em; + page-break-inside: avoid; +} + + +div.informalfigure p.title b, +div.informalexample p.title b, +div.informaltable p.title b, +div.figure p.title b, +div.example p.title b, +div.table p.title b{ + padding-top: 0em; + margin-top: 0em; + font-size: 100%; + font-weight: normal; +} + +.mediaobject .caption, +.mediaobject .caption p { + text-align: center; + font-size: 80%; + padding-top: 0.5em; + padding-bottom: 0.5em; +} + +.epigraph { + padding-left: 55%; + margin-bottom: 1em; +} + +.epigraph p { + text-align: left; +} + +.epigraph .quote { + font-style: italic; +} +.epigraph .attribution { + font-style: normal; + text-align: right; +} + +span.application { + font-style: italic; +} + +.programlisting { + font-family: monospace; + font-size: 80%; + white-space: pre; + margin: 1.33em 0em; + padding: 1.33em; +} + +.tip, +.warning, +.caution, +.note { + margin-top: 1em; + margin-bottom: 1em; + +} + +/* force full width of table within div */ +.tip table, +.warning table, +.caution table, +.note table { + border: none; + width: 100%; +} + + +.tip table th, +.warning table th, +.caution table th, +.note table th { + padding: 0.8em 0.0em 0.0em 0.0em; + margin : 0em 0em 0em 0em; +} + +.tip p, +.warning p, +.caution p, +.note p { + margin-top: 0.5em; + margin-bottom: 0.5em; + padding-right: 1em; + text-align: left; +} + +.acronym { + text-transform: uppercase; +} + +b.keycap, +.keycap { + padding: 0.09em 0.3em; + margin: 0em; +} + +.itemizedlist li { + clear: none; +} + +.filename { + font-size: medium; + font-family: Courier, monospace; +} + + +div.navheader, div.heading{ + position: absolute; + left: 0em; + top: 0em; + width: 100%; + background-color: #cdf; + width: 100%; +} + +div.navfooter, div.footing{ + position: fixed; + left: 0em; + bottom: 0em; + background-color: #eee; + width: 100%; +} + + +div.navheader td, +div.navfooter td { + font-size: 66%; +} + +div.navheader table th { + /*font-family: Georgia, Times, serif;*/ + /*font-size: x-large;*/ + font-size: 80%; +} + +div.navheader table { + border-left: 0em; + border-right: 0em; + border-top: 0em; + width: 100%; +} + +div.navfooter table { + border-left: 0em; + border-right: 0em; + border-bottom: 0em; + width: 100%; +} + +div.navheader table td a, +div.navfooter table td a { + color: #777; + text-decoration: none; +} + +/* normal text in the footer */ +div.navfooter table td { + color: black; +} + +div.navheader table td a:visited, +div.navfooter table td a:visited { + color: #444; +} + + +/* links in header and footer */ +div.navheader table td a:hover, +div.navfooter table td a:hover { + text-decoration: underline; + background-color: transparent; + color: #33a; +} + +div.navheader hr, +div.navfooter hr { + display: none; +} + + +.qandaset tr.question td p { + margin: 0em 0em 1em 0em; + padding: 0em 0em 0em 0em; +} + +.qandaset tr.answer td p { + margin: 0em 0em 1em 0em; + padding: 0em 0em 0em 0em; +} +.answer td { + padding-bottom: 1.5em; +} + +.emphasis { + font-weight: bold; +} + + + /************* / + / decorations / +/ *************/ + +.titlepage { +} + +.part .title { +} + +.subtitle { + border: none; +} + +/* +h1 { + border: none; +} + +h2 { + border-top: solid 0.2em; + border-bottom: solid 0.06em; +} + +h3 { + border-top: 0em; + border-bottom: solid 0.06em; +} + +h4 { + border: 0em; + border-bottom: solid 0.06em; +} + +h5 { + border: 0em; +} +*/ + +.programlisting { + border: solid 1px; +} + +div.figure, +div.table, +div.informalfigure, +div.informaltable, +div.informalexample, +div.example { + border: 1px solid; +} + + + +.tip, +.warning, +.caution, +.note { + border: 1px solid; +} + +.tip table th, +.warning table th, +.caution table th, +.note table th { + border-bottom: 1px solid; +} + +.question td { + border-top: 1px solid black; +} + +.answer { +} + + +b.keycap, +.keycap { + border: 1px solid; +} + + +div.navheader, div.heading{ + border-bottom: 1px solid; +} + + +div.navfooter, div.footing{ + border-top: 1px solid; +} + + /********* / + / colors / +/ *********/ + +body { + color: #333; + background: white; +} + +a { + background: transparent; +} + +a:hover { + background-color: #dedede; +} + + +h1, +h2, +h3, +h4, +h5, +h6, +h7, +h8 { + background-color: transparent; +} + +hr { + border-color: #aaa; +} + + +.tip, .warning, .caution, .note { + border-color: #aaa; +} + + +.tip table th, +.warning table th, +.caution table th, +.note table th { + border-bottom-color: #aaa; +} + + +.warning { + background-color: #fea; +} + +.caution { + background-color: #fea; +} + +.tip { + background-color: #eff; +} + +.note { + background-color: #dfc; +} + +.glossary dl dt, +.variablelist dl dt, +.variablelist dl dt span.term { + color: #044; +} + +div.figure, +div.table, +div.example, +div.informalfigure, +div.informaltable, +div.informalexample { + border-color: #aaa; +} + +pre.programlisting { + color: black; + background-color: #fff; + border-color: #aaa; + border-width: 2px; +} + +.guimenu, +.guilabel, +.guimenuitem { + background-color: #eee; +} + + +b.keycap, +.keycap { + background-color: #eee; + border-color: #999; +} + + +div.navheader { + border-color: black; +} + + +div.navfooter { + border-color: black; +} + + + /*********** / + / graphics / +/ ***********/ + +/* +body { + background-image: url("images/body_bg.jpg"); + background-attachment: fixed; +} + +.navheader, +.note, +.tip { + background-image: url("images/note_bg.jpg"); + background-attachment: fixed; +} + +.warning, +.caution { + background-image: url("images/warning_bg.jpg"); + background-attachment: fixed; +} + +.figure, +.informalfigure, +.example, +.informalexample, +.table, +.informaltable { + background-image: url("images/figure_bg.jpg"); + background-attachment: fixed; +} + +*/ +h1, +h2, +h3, +h4, +h5, +h6, +h7{ +} + +/* +Example of how to stick an image as part of the title. + +div.article .titlepage .title +{ + background-image: url("figures/white-on-black.png"); + background-position: center; + background-repeat: repeat-x; +} +*/ + +div.preface .titlepage .title, +div.colophon .title, +div.chapter .titlepage .title, +div.article .titlepage .title +{ +} + +div.section div.section .titlepage .title, +div.sect2 .titlepage .title { + background: none; +} + + +h1.title { + background-color: transparent; + background-image: url("figures/yocto-project-bw.png"); + background-repeat: no-repeat; + height: 256px; + text-indent: -9000px; + overflow:hidden; +} + +h2.subtitle { + background-color: transparent; + text-indent: -9000px; + overflow:hidden; + width: 0px; + display: none; +} + + /*************************************** / + / pippin.gimp.org specific alterations / +/ ***************************************/ + +/* +div.heading, div.navheader { + color: #777; + font-size: 80%; + padding: 0; + margin: 0; + text-align: left; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 50px; + background: url('/gfx/heading_bg.png') transparent; + background-repeat: repeat-x; + background-attachment: fixed; + border: none; +} + +div.heading a { + color: #444; +} + +div.footing, div.navfooter { + border: none; + color: #ddd; + font-size: 80%; + text-align:right; + + width: 100%; + padding-top: 10px; + position: absolute; + bottom: 0px; + left: 0px; + + background: url('/gfx/footing_bg.png') transparent; +} +*/ + + + + /****************** / + / nasty ie tweaks / +/ ******************/ + +/* +div.heading, div.navheader { + width:expression(document.body.clientWidth + "px"); +} + +div.footing, div.navfooter { + width:expression(document.body.clientWidth + "px"); + margin-left:expression("-5em"); +} +body { + padding:expression("4em 5em 0em 5em"); +} +*/ + + /**************************************** / + / mozilla vendor specific css extensions / +/ ****************************************/ +/* +div.navfooter, div.footing{ + -moz-opacity: 0.8em; +} + +div.figure, +div.table, +div.informalfigure, +div.informaltable, +div.informalexample, +div.example, +.tip, +.warning, +.caution, +.note { + -moz-border-radius: 0.5em; +} + +b.keycap, +.keycap { + -moz-border-radius: 0.3em; +} +*/ + +table tr td table tr td { + display: none; +} + + +hr { + display: none; +} + +table { + border: 0em; +} + + .photo { + float: right; + margin-left: 1.5em; + margin-bottom: 1.5em; + margin-top: 0em; + max-width: 17em; + border: 1px solid gray; + padding: 3px; + background: white; +} + .seperator { + padding-top: 2em; + clear: both; + } + + #validators { + margin-top: 5em; + text-align: right; + color: #777; + } + @media print { + body { + font-size: 8pt; + } + .noprint { + display: none; + } + } + + +.tip, +.note { + background: #91ae35; + color: #fff; + padding: 20px; + margin: 20px; +} + +.tip h3, +.note h3 { + padding: 0em; + margin: 0em; + font-size: 2em; + font-weight: bold; + color: #fff; +} + +.tip a, +.note a { + color: #fff; + text-decoration: underline; +} diff --git a/documentation/yocto-project-qs/yocto-project-qs-customization.xsl b/documentation/yocto-project-qs/yocto-project-qs-customization.xsl new file mode 100644 index 0000000000..8e6ea34dd4 --- /dev/null +++ b/documentation/yocto-project-qs/yocto-project-qs-customization.xsl @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml new file mode 100644 index 0000000000..d67ff41edc --- /dev/null +++ b/documentation/yocto-project-qs/yocto-project-qs.xml @@ -0,0 +1,307 @@ + + +
+ + +
+ Yocto Project Quick Start +
+ +
+ Welcome! + + Welcome to the Yocto Project! + The Yocto Project is an open-source Linux development environment. + This short document will give you some basic information about the environment as well as let you experience it in its simplest form. + After reading this document you will have a basic understanding of what the Yocto Project is and how to work within it. + This document also steps you through a simple example showing you how to build a small image and run it using the QEMU emulator. + + + For complete information on the Yocto Project you should check out the Public Yocto Website. + You can find the latest builds, breaking news, full development documentation, and a rich Yocto Project Development Community into which you can tap. + +
+ +
+ Introducing the Yocto Project Development Environment + + + Yocto Project is an open source development environment that creates Linux-based images suitable for many types of devices (large or small) based on architectures such as x86, x86-64, Xeon, ARM, and MIPS as well as PowerPC and device emulation. + You can use Yocto Project to design, develop, build, debug, simulate, and test the complete software stack using Linux, the X Window System, GNOME Mobile-based application frameworks, and Qt frameworks. + + + + + + + + + + + The Yocto Project Development Environment + + + + + Yocto Project: + + + + + Provides an open source Linux kernel along with a set of system commands and libraries suitable for the embedded environment. + + + Makes available system components such as X11, Matchbox, GTK+, Pimlico, Clutter, and Qt (among others) so you can create a richer user interface experience on devices that use displays or have a GUI. +For devices that don't have a GUI or display you simply would not employ these components. + + + Creates a focused and stable subset of OpenEmbedded on which you can easily and reliably build and develop. + + + Fully supports a wide range of hardware and device emulation through the QEMU Emulator or other supported emulators. + + + + + Yocto Project generates file system images based on open source software such as the Kdrive X server, the Matchbox Window Manager, the GTK+ Toolkit and the D-Bus Message Bus System. + Yocto Project can generate images for many kinds of devices. + However, the standard example machines target QEMU full system emulation for x86, ARM, MIPS, and PPC based architectures as well as specific hardware such as the Intel Desktop Board DH55TC. + Because an image developed with Yocto Project can boot inside a QEMU emulator, the development environment works nicely as a test platform for developing embedded software. + + + + Another important Yocto Project feature is the Sato component. + The optional Sato component, a GNOME mobile-based user interface environment well suited for devices with restricted screen sizes, sits neatly on top of any device using the GNOME Mobile Stack providing a well defined user experience. + +
+ +
+ What You Need and How You Get It + + + You need these things to develop in the Yocto Project environment: + + + + + A host system running a supported Linux distribution. + For information on distributions on which you can use Yocto Project refer to the information found at http://wiki.openembedded.net/index.php/OEandYourDistro. + + + The right packages. + + + A release of Yocto Project. + + + +
+ The Linux Distribution + + + While this document assumes a Debian-based host system you can develop in the Yocto Linux environment using many other Linux distributions. + For Debian-based systems we recommend you use the Ubuntu Release 10.04 or later. + +
+ +
+ The Packages + + + The packages you need for a Debian-based host are shown in the following command: + + + + Sudo apt-get install sed wget cvs subversion git-core coreutils + unzip texi2html texinfo libsdll.2-dev docbook-utils gawk + python-pysqlite2 diffstat help2man make gcc build-essential + g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev + libsdl1.2-dev + + + + NOTE: Packages vary in number and name for other Linux distributions. + For package requirements on other Linux distributions refer to the information found at http://wiki.openembedded.net/index.php/OEandYourDistro. + +
+ +
+ Yocto Project Release + + + The latest releases for Yocto Project are kept at http://yoctoproject.org/releases. + Nightly and developmental builds are also maintained. However, for this document a released version of Yocto Project is used. + +
+
+ +
+ A Quick Test Run + + + Now that you have your system requirements in order you can give Yocto Project a try. + This section presents some steps that let you do the following: + + + + + Build an image and run it in the emulator + + + Or, use a pre-built image and run it in the emulator + + + +
+ Building an Image + + + In the development environment you will need to build an image whenever you change hardware support, add or change system libraries, or add or change services that have dependencies. + + + + + + + + Building an Image + + + + + Use the following commands from a shell on your Debian-based host to build your image. + The build creates an entire Linux system including the Toolchain from the source. + + + NOTE: The build process using Sato currently consumes 50GB of disk space. + To allow for vbariations in the build process and for future package expansion we recommend 100GB of free disk space. + + + + + $ wget http://pokylinux.org/releases/poky-green-3.3.tar.bz2 + $ tar xjvf poky-green-3.3.tar.bz2 + $ cd green-3.3-build + $ source green-3.3/poky-init-build-env green-3.3-build + $ bitbake qemu-native + $ bitbake poky-image-sato + $ poky-qemu qemux86 + + + + + Here is some explanation for these commands: + + + + + + The first two commands extract the Yocto Project files from the release area and place them into your build area (green-3.3-build in this example). + + + + + After changing to the build directory the source command sets up the Yocto Project build environment. + The build directory contains all the object files used during the build. + The default build directory is poky-dir/build. + + + + + The two bitbake commands build the OS image and the emulator for the target. + Here poky-image-sato is the name of the target. The qemu-native target is the customized QEMU Emulator. + + + + Finally, the poky-qemu command launches the customized QEMU. + + + +
+ +
+ Using a Pre-Built Linux Kernel for QEMU + + If hardware, libraries and services are stable you can use a pre-built image of the kernel and just run it on the target using the emulator QEMU. + This situation is perfect for developing application software. + + + + + + + + + + + + Using a Pre-Built Image + + + + + For this scenario you need to do three things: + + + + + + Install the Yocto Project Scripts + + + + + Download the pre-built kernel that will run on QEMU. + You need to be sure to get the QEMU image that matches your target machine’s architecture (e.g. x86, ARM, etc.). + + + + + Download and decompress the file image system. + + + + + + Use this command to install the patched Yocto Project QEMU scripts: + + + + + $ apt-get install qemu poky-scripts + + + + + You can download the pre-built Linux kernel and the file image system from . + The kernel and file image system have the following forms, respectively: + + + + *zImage*qemu*.bin + poky-image-*-qemu*.ext2.bz2 + + + + You must decompress the file image system using the following command: + + + + $ bzip2 -d + + + + You can now start the emulator using this command: + + + + $ poky-qemu <kernel> <image> + +
+
+ +
+ -- cgit v1.2.3