From 92ee38410f9ef0737a425b082783e818c6f6cc5b Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 26 Feb 2018 13:20:27 -0800 Subject: [PATCH] brief-yoctoprojectqs, Makefile: New "First Build" article. I have created an brief article in the form of current YP docs that is a pared down version of the Quick Start (pre 2.5 release). The article fills a gap for a short (2-page), process-oriented article that steps the user through an initial build using YP. I had to make changes to the Makefile to support building the new article. (From yocto-docs rev: 47aace60cea4a892ae1efabb050b240c6abdaec9) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/Makefile | 19 +- .../brief-yoctoprojectqs-customization.xsl | 24 + .../brief-yoctoprojectqs-style.css | 989 +++++ .../brief-yoctoprojectqs-titlepage.xsl | 3820 +++++++++++++++++ .../brief-yoctoprojectqs.html | 240 ++ .../brief-yoctoprojectqs.tgz | Bin 0 -> 28833 bytes .../brief-yoctoprojectqs.xml | 337 ++ .../figures/yocto-project-transp.png | Bin 0 -> 8626 bytes .../figures/ypqs-title.png | Bin 0 -> 11700 bytes 9 files changed, 5427 insertions(+), 2 deletions(-) create mode 100644 documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl create mode 100644 documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css create mode 100644 documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl create mode 100644 documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.html create mode 100644 documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.tgz create mode 100644 documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml create mode 100755 documentation/brief-yoctoprojectqs/figures/yocto-project-transp.png create mode 100644 documentation/brief-yoctoprojectqs/figures/ypqs-title.png diff --git a/documentation/Makefile b/documentation/Makefile index bb8d6a5749..b55dddb85e 100644 --- a/documentation/Makefile +++ b/documentation/Makefile @@ -84,6 +84,21 @@ # for the 'denzil' branch. # +ifeq ($(DOC),brief-yoctoprojectqs) +XSLTOPTS = --stringparam html.stylesheet brief-yoctoprojectqs-style.css \ + --stringparam chapter.autolabel 1 \ + --stringparam section.autolabel 1 \ + --stringparam section.label.includes.component.label 1 \ + --xinclude +ALLPREQ = html tarball +TARFILES = brief-yoctoprojectqs-style.css brief-yoctoprojectqs.html figures/ypqs-title.png \ + figures/yocto-project-transp.png +MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse +FIGURES = figures +STYLESHEET = $(DOC)/*.css + +endif + ifeq ($(DOC),getting-started) XSLTOPTS = --xinclude ALLPREQ = html eclipse tarball @@ -384,9 +399,9 @@ XSL_XHTML_URI = $(XSL_BASE_URI)/xhtml/docbook.xsl all: $(ALLPREQ) pdf: -ifeq ($(DOC),yocto-project-qs) +ifeq ($(DOC),yocto-project-qs brief-yoctoprojectqs) @echo " " - @echo "ERROR: You cannot generate a yocto-project-qs PDF file." + @echo "ERROR: You cannot generate yocto-project-qs or brief-yoctoprojectqs PDF files." @echo " " else ifeq ($(DOC),mega-manual) diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl new file mode 100644 index 0000000000..0d57424b59 --- /dev/null +++ b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-customization.xsl @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css new file mode 100644 index 0000000000..5085b9d0be --- /dev/null +++ b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-style.css @@ -0,0 +1,989 @@ +/* + 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: #00557D; + 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: bold; +} + +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: bold; +} + +h4 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 120%; + font-weight: bold; +} + +h5 { + margin: 1em 0em 0.5em 0em; + padding: 1em 0em 0em 0em; + font-size: 110%; + font-weight: bold; +} + +h6 { + margin: 1em 0em 0em 0em; + padding: 1em 0em 0em 0em; + font-size: 110%; + font-weight: bold; +} + +.authorgroup { + background-color: transparent; + background-repeat: no-repeat; + padding-top: 256px; + background-image: url("figures/ypqs-title.png"); + background-position: left top; + margin-top: -256px; + padding-right: 50px; + margin-left: 0px; + text-align: right; + width: 740px; +} + +h3.author { + margin: 0em 0me 0em 0em; + padding: 0em 0em 0em 0em; + font-weight: normal; + font-size: 100%; + color: #333; + 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; + color: #00557D; +} + +.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; + +} + +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;*/ +} + +/* This style defines how the permalink character + appears by itself and when hovered over with + the mouse. */ + +[alt='Permalink'] { color: #eee; } +[alt='Permalink']:hover { color: black; } + + +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: #fff; +} + + +.tip table th, +.warning table th, +.caution table th, +.note table th { + border-bottom-color: #fff; +} + + +.warning { + background-color: #f0f0f2; +} + +.caution { + background-color: #f0f0f2; +} + +.tip { + background-color: #f0f0f2; +} + +.note { + background-color: #f0f0f2; +} + +.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; +} + + +.writernotes { + color: red; +} + + + /*********** / + / 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 { + background-position: bottom; + background-repeat: repeat-x; +} + +div.section div.section .titlepage .title, +div.sect2 .titlepage .title { + background: none; +} + + +h1.title { + background-color: transparent; + 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: #f0f0f2; + color: #333; + padding: 20px; + margin: 20px; +} + +.tip h3, +.note h3 { + padding: 0em; + margin: 0em; + font-size: 2em; + font-weight: bold; + color: #333; +} + +.tip a, +.note a { + color: #333; + text-decoration: underline; +} + +.footnote { + font-size: small; + color: #333; +} + +/* Changes the announcement text */ +.tip h3, +.warning h3, +.caution h3, +.note h3 { + font-size:large; + color: #00557D; +} diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl new file mode 100644 index 0000000000..a435ac77ab --- /dev/null +++ b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs-titlepage.xsl @@ -0,0 +1,3820 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ + + + +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + +
+ + +
+ + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + 1 + + + +
+
+ + + + + + + + + + 1 + + + +
+
+ +
+
+ + + + + + + + + + + + + + +
+ + + +
+
+ + +
+ +
+
+ +
+ diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.html b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.html new file mode 100644 index 0000000000..8c259aa5a6 --- /dev/null +++ b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.html @@ -0,0 +1,240 @@ + +My First Yocto Project Build

My First Yocto Project Build¶

+ 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. +

Manual Notes

  • + For the latest version of this document associated with + this Yocto Project release + (version 2.5), see the "My First + Yocto Project Build" from the + Yocto Project documentation page. +

  • + This version of the manual is version + 2.5. + For later releases of the Yocto Project (if they exist), + go to the + Yocto Project documentation page + and use the drop-down "Active Releases" button + and choose the Yocto Project version for which you want + the manual. +


1. Welcome!¶

+ Welcome! + This short document steps you through the process for a typical + image build using the Yocto Project. + The build uses Poky, which is the reference embedded OS that is + completely specified. +

Note

+ 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 + Getting Started With Yocto Project Manual. +

2. Compatible Linux Distribution¶

+ Make sure your build system 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. +

+

3. Build System Packages¶

+ You must install essential host packages on your + development host. + The following command installs the host packages based on an + Ubuntu distribution: +

Note

+ 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 gawk wget git-core diffstat unzip texinfo gcc-multilib \
+     build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
+     xz-utils debianutils iputils-ping libsdl1.2-dev xterm
+            

+

4. 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 + system. + Use the following commands to clone the Poky + repository and then checkout the yocto-2.5 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-yocto-2.5. The files available to you in that + branch exactly match the repository's files in the + "sumo" development branch at the time of the + Yocto Project 2.5 release. +

+ For more options and information about accessing Yocto + Project related repositories, see the + "Working With Yocto Project Source Files" + section in the Yocto Project Development Tasks Manual. +

5. Building Your Image¶

+ Use the following steps to build your image. + The OpenEmbedded build system creates an entire Linux + distribution, including the toolchain, from source. +

Note

  • + 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" + wiki page. +

+

+

  1. + Initialize the Build Environment: + Run the + oe-init-build-env + environment setup script to define the OpenEmbedded + build environment on your build host. +

    +     $ source oe-init-build-env
    +                    

    + 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. +

  2. + 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 quick start, 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. +

  3. + 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 Manual, or + see the + "BitBake Command" + section in the BitBake User Manual. +

  4. + 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. +

  5. + 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. +

+

6. 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 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. +

+

\ No newline at end of file diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.tgz b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4bbcb288eb0842fcecfec509eda94ab5bf2c69f8 GIT binary patch literal 28833 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 literal 0 HcmV?d00001 diff --git a/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml new file mode 100644 index 0000000000..da497cc100 --- /dev/null +++ b/documentation/brief-yoctoprojectqs/brief-yoctoprojectqs.xml @@ -0,0 +1,337 @@ + %poky; ] > + +
+ + My First Yocto Project 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. + + Manual Notes + + + For the latest version of this document associated with + this Yocto Project release + (version &YOCTO_DOC_VERSION;), see the "My First + Yocto Project Build" from the + Yocto Project documentation page. + + + This version of the manual is version + &YOCTO_DOC_VERSION;. + For later releases of the Yocto Project (if they exist), + go to the + Yocto Project documentation page + and use the drop-down "Active Releases" button + and choose the Yocto Project version for which you want + the manual. + + + + + + + + + + + +
+ Welcome! + + + Welcome! + This short document steps you through the process for a typical + image build using the Yocto Project. + The build uses Poky, which is the reference embedded OS that is + completely specified. + + 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 + Getting Started With Yocto Project Manual. + +
+ +
+ Compatible Linux Distribution + + + Make sure your build system 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 System Packages + + + You must install essential host packages on your + development 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 + system. + 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 + "Working With Yocto Project Source Files" + section in the Yocto Project Development Tasks Manual. + +
+ +
+ Building Your Image + + + Use the following steps to build your image. + The OpenEmbedded build system 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" + wiki page. + + + + + + + + + Initialize the Build Environment: + Run the + &OE_INIT_FILE; + environment setup script to define the OpenEmbedded + 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 quick start, 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. + + + 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 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. + + + +
+ +
+ 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 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. + + + +
+
+ diff --git a/documentation/brief-yoctoprojectqs/figures/yocto-project-transp.png b/documentation/brief-yoctoprojectqs/figures/yocto-project-transp.png new file mode 100755 index 0000000000000000000000000000000000000000..31d2b147fdb5e23f84d64652faf9528d83be7d8d GIT binary patch literal 8626 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 literal 0 HcmV?d00001 diff --git a/documentation/brief-yoctoprojectqs/figures/ypqs-title.png b/documentation/brief-yoctoprojectqs/figures/ypqs-title.png new file mode 100644 index 0000000000000000000000000000000000000000..0156e261b1e22b31756453b43361b6ea73a0a605 GIT binary patch literal 11700 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 literal 0 HcmV?d00001