From 000f052765577826907ff1e3f758bab3a0724d74 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Wed, 24 Nov 2010 08:31:55 -0800 Subject: [PATCH] documentation/kerenl-manual: New directory and files for kernel manual. This is the first draft of the Yocto Project Kernel manual. The manual consists of two sections: concepts and a practical section that has examples. It is based of Bruce Ashfield's kernel theory paper. This first draft has been re-written and organized through the concepts section. The remainder was just placed in as-is due to time constraints for getting some kernel documentation up on the website. The manual still needs scrubbing and organization in the latter half. Signed-off-by: Scott Rifenbark --- documentation/kernel-manual/Makefile | 32 + .../figures/kernel-architecture-overview.png | Bin 0 -> 40778 bytes .../figures/kernel-big-picture.png | Bin 0 -> 173130 bytes .../figures/yocto-project-transp.png | Bin 0 -> 8626 bytes documentation/kernel-manual/style.css | 967 ++++++++ ...to-project-kernal-manual-customization.xsl | 8 + .../yocto-project-kernal-manual.xml | 2175 +++++++++++++++++ 7 files changed, 3182 insertions(+) create mode 100644 documentation/kernel-manual/Makefile create mode 100755 documentation/kernel-manual/figures/kernel-architecture-overview.png create mode 100755 documentation/kernel-manual/figures/kernel-big-picture.png create mode 100755 documentation/kernel-manual/figures/yocto-project-transp.png create mode 100644 documentation/kernel-manual/style.css create mode 100644 documentation/kernel-manual/yocto-project-kernal-manual-customization.xsl create mode 100644 documentation/kernel-manual/yocto-project-kernal-manual.xml diff --git a/documentation/kernel-manual/Makefile b/documentation/kernel-manual/Makefile new file mode 100644 index 0000000000..701bddfa77 --- /dev/null +++ b/documentation/kernel-manual/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-kernal-manual.html yocto-project-kernal-manual-customization.xsl yocto-project-kernal-manual.xml + +tarball: html + tar -cvzf yocto-project-kernal-manual.tgz yocto-project-kernal-manual.html style.css figures/yocto-project-transp.png figures/kernel-big-picture.png figures/kernel-architecture-overview.png + +validate: + xmllint --postvalid --xinclude --noout yocto-project-kernal-manual.xml + +OUTPUTS = yocto-project-kernal-manual.tgz yocto-project-kernal-manual.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/kernel-manual/figures/kernel-architecture-overview.png b/documentation/kernel-manual/figures/kernel-architecture-overview.png new file mode 100755 index 0000000000000000000000000000000000000000..cdf908526f1e8c6c1c279d42bb2c5851a0652d7d GIT binary patch literal 40778 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

5K|=b+y@OrVLTSKY>9m!a6D&-WT~ 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

@giWc}9ZoN-Fh79BPeY0N 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®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 literal 0 HcmV?d00001 diff --git a/documentation/kernel-manual/style.css b/documentation/kernel-manual/style.css new file mode 100644 index 0000000000..d100b69fc9 --- /dev/null +++ b/documentation/kernel-manual/style.css @@ -0,0 +1,967 @@ +/* + 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; +} + +.reviewer { + color: red; +} + +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: 100%; + font-weight: bold; +} + +.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/kernel-manual/yocto-project-kernal-manual-customization.xsl b/documentation/kernel-manual/yocto-project-kernal-manual-customization.xsl new file mode 100644 index 0000000000..8e6ea34dd4 --- /dev/null +++ b/documentation/kernel-manual/yocto-project-kernal-manual-customization.xsl @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/documentation/kernel-manual/yocto-project-kernal-manual.xml b/documentation/kernel-manual/yocto-project-kernal-manual.xml new file mode 100644 index 0000000000..b1693500fc --- /dev/null +++ b/documentation/kernel-manual/yocto-project-kernal-manual.xml @@ -0,0 +1,2175 @@ + + +

+ + +
+ Yocto Project Kernel Architecture and Use Manual +
+ +
+ Introduction + + Yocto Project presents the kernel as a fully patched, history-clean git + repository. + The git tree represents the selected features, board support, + and configurations extensively tested by Yocto Project. + The Yocto Project kernel allows the end user to leverage community + best practices to seamlessly manage the development, build and debug cycles. + + + This manual describes the Yocto Project kernel by providing information + on its history, organization, benefits, and use. + The manual consists of two sections: + + Concepts - Describes concepts behind the kernel. + You will understand how the kernel is organized and why it is organized in + the way it is. You will understand the benefits of the kernel's organization + and the mechanisms used to work with the kernel and how to apply it in your + design process. + Using the Kernel - Describes best practices and "how-to" information + that lets you put the kernel to practical use. Some examples are "How to Build a + Project Specific Tree", "How to Examine Changes in a Branch", and "Saving Kernel + Modifications." + + + + For more information on the kernel, see the following links: + + + + + + + You can find more information on Yocto Project by visiting the website at + . + + +
+ +
+ Concepts + + This section provides conceptual information about the Yocto Project kernel: + + Kernel Goals + Yocto Project Kernel Development and Maintenance Overview + Kernel Architecture + Kernel Tools + + +
+ Kernel Goals + + The complexity of embedded kernel design has increased dramatically. + Whether it is managing multiple implementations of a particular feature or tuning and + optimizing board specific features, flexibility and maintainability are key concerns. + The Yocto Project Linux kernel is presented with the embedded + developer's needs in mind and has evolved to assist in these key concerns. + For example, prior methods such as applying hundreds of patches to an extracted + tarball have been replaced with proven techniques that allow easy inspection, + bisection and analysis of changes. + Application of these techniques also creates a platform for performing integration and + collaboration with the thousands of upstream development projects. + + + With all these considerations in mind, the Yocto Project kernel and development team + strives to attain these goals: + + Allow the end user to leverage community best practices to seamlessly + manage the development, build and debug cycles. + Create a platform for performing integration and collaboration with the + thousands of upstream development projects that exist. + Provide mechanisms that support many different work flows, front-ends and + management techniques. + Deliver the most up-to-date kernel possible while still ensuring that + the baseline kernel is the the most stable official release. + Include major technological features as part of Yocto Project's up-rev + strategy. + Present a git tree, that just like the upstream kernel.org tree, has a + clear and continuous history. + Deliver a key set of supported kernel types, where each type is tailored + to a specific use case (i.g. networking, consumer, devices, and so forth). + Employ a git branching strategy that from a customer's point of view + results in a linear path from the baseline kernel.org, through a select group of features and + ends with their BSP-specific commits. + + +
+ +
+ Yocto Project Kernel Development and Maintenance Overview + + Yocto Project kernel, like other kernels, is based off the Linux kernel release + from . + At the beginning of our major development cycle, we choose our Yocto Project kernel + based on factors like release timing, the anticipated release timing of "final" (i.e. non "rc") + upstream kernel.org versions, and Yocto Project feature requirements. + Typically this will be a kernel that is in the + final stages of development by the community (i.e. still in the release + candidate or "rc" phase) and not yet a final release. + But by being in the final stages of external development, we know that the + kernel.org final release will clearly land within the early stages of + the Yocto Project development window. + + + This balance allows us to deliver the most up-to-date kernel + as possible, while still ensuring that we have a stable official release as + our baseline kernel version. + + + The following figure represents the overall place the Yocto Project kernel fills. + + + + + + In the figure the ultimate source for the Yocto Project kernel is a released kernel + from kernel.org. + In addition to a foundational kernel from kernel.org the commercially released + Yocto Project kernel contains a mix of important new mainline + developments, non-mainline developments, Board Support Package (BSP) developments, + and custom features. + These additions result in a commercially released Yocto Project kernel that caters + to specific embedded designer needs for targeted hardware. + + + Once a Yocto Project kernel is officially released the Yocto Project team goes into + their next development cycle, or "uprev" cycle. + It is important to note that the most sustainable and stable way + to include feature development upstream is through a kernel uprev process. + Back-porting of hundreds of individual fixes and minor features from various + kernel versions is not sustainable and can easily compromise quality. + During the uprev cycle, the Yocto Project team uses an ongoing analysis of + kernel development, BSP support, and release timing to select the best + possible kernel.org version. + The team continually monitors community kernel + development to look for significant features of interest. + The illustration depicts this by showing the team looking back to kernel.org for new features, + BSP features, and significant bug fixes. + The team does consider back-porting large features if they have a significant advantage. + User or community demand can also trigger a back-port or creation of new + functionality in the Yocto Project baseline kernel during the uprev cycle. + + + Generally speaking, every new kernel both adds features and introduces new bugs. + These consequences are the basic properties of upstream kernel development and are + managed by the Yocto Project team's kernel strategy. + It is the Yocto Project team's policy to not back-port minor features to the released kernel. + They only consider back-porting significant technological jumps - and, that is done + after a complete gap analysis. + The reason for this policy is that simply back-porting any small to medium sized change + from an evolving kernel can easily create mismatches, incompatibilities and very + subtle errors. + + + These policies result in both a stable and a cutting + edge kernel that mixes forward ports of existing features and significant and critical + new functionality. + Forward porting functionality in the Yocto Project kernel can be thought of as a + "micro uprev." + The many “micro uprevs” produce a kernel version with a mix of + important new mainline, non-mainline, BSP developments and feature integrations. + This kernel gives insight into new features and allows focused + amounts of testing to be done on the kernel, which prevents + surprises when selecting the next major uprev. + The quality of these cutting edge kernels is evolving and the kernels are used in very special + cases for BSP and feature development. + +
+ +
+ Kernel Architecture + + This section describes the architecture of the Yocto Project kernel and provides information + on the mechanisms used to achieve that architecture. + + +
+ Overview + + As mentioned earlier, a key goal of Yocto Project is to present the developer with + a kernel that has a clear and continuous history that is visible to the user. + The architecture and mechanisms used achieve that goal in a manner similar to the + upstream kernel.org. + + + + You can think of the Yocto Project kernel as consisting of a baseline kernel with + added features logically structured on top of the baseline. + The features are tagged and organized by way of a branching strategy implemented by the + source code manager (SCM) git. + The result is that the user has the ability to see the added features and + the commits that make up those features. + In addition to being able to see added features, the user can also view the history of what + made up the baseline kernel as well. + + + The following illustration shows the conceptual Yocto Project kernel. + + + + + + In the illustration, the "kernel.org Branch Point" marks the specific spot (or release) from + which the Yocto Project kernel is created. From this point "up" in the tree features and + differences are organized and tagged. + + + The "Yocto Project Baseline Kernel" contains functionality that is common to every kernel + type and BSP that is organized further up the tree. Placing these common features in the + tree this way means features don't have to be duplicated along individual branches of the + structure. + + + From the Yocto Project Baseline Kernel branch points represent specific functionality + for individual BSPs as well as real-time kernels. + The illustration represents this through three BSP-specific branches and a real-time + kernel branch. + Each branch represents some unique functionality for the BSP or a real-time kernel. + + + The real-time kernel branch has common features for all real-time kernels and contains + more branches for individual BSP-specific real-time kernels. + The illustration shows three branches as an example. + Each branch points the way to specific, unique features for a respective real-time + kernel as they apply to a given BSP. + + + The resulting tree structure presents a clear path of markers (or branches) to the user + that for all practical purposes is the kernel needed for any given set of requirements. + +
+ +
+ Branching Strategy and Workflow + + The Yocto Project team creates kernel branches at points where functionality is + no longer shared and thus, needs to be isolated. + For example, board-specific incompatibilities would require different functionality + and would require a branch to separate the features. + Likewise, for specific kernel features the same branching strategy is used. + This branching strategy results in a tree that has features organized to be specific + for particular functionality, single kernel types, or a subset of kernel types. + This strategy results in not having to store the same feature twice internally in the + tree. + Rather we store the unique differences required to apply the feature onto the kernel type + in question. + + + BSP-specific code additions are handled in a similar manner to kernel-specific additions. + Some BSPs only make sense given certain kernel types. + So, for these types, we create branches off the end of that kernel type for all + of the BSPs that are supported on that kernel type. + From the perspective of the tools that create the BSP branch, the BSP is really no + different than a feature. + Consequently, the same branching strategy applies to BSPs as it does to features. + So again, rather than store the BSP twice, only the unique differences for the BSP across + the supported multiple kernels are uniquely stored. + + + While this strategy results in a tree with a significant number of branches, it is + important to realize that from the customer's point of view, there is a linear + path that travels from the baseline kernel.org, through a select group of features and + ends with their BSP-specific commits. + In other words, the divisions of the kernel are transparent and are not relevant + to the developer on a day-to-day basis. + From the customer's perspective, this is the "master" branch. + They do not need not be aware of the existence of any other branches at all. + Of course there is value in the existence of these branches + in the tree, should a person decide to explore them. + For example, a comparison between two BSPs at either the commit level or at the line-by-line + code diff level is now a trivial operation. + + + Working with the kernel as a structured tree follows recognized community best practices. + In particular, the kernel as shipped with the product should be + considered an 'upstream source' and viewed as a series of + historical and documented modifications (commits). + These modifications represent the development and stabilization done + by the Yocto Project kernel development team. + + + Because commits only change at significant release points in the product life cycle, + developers can work on a branch created + from the last relevant commit in the shipped Yocto Project kernel. + As mentioned previously, the structure is transparent to the user + because the kernel tree is left in this state after cloning and building the kernel. + +
+ +
+ Source Code Manager - git + + The Source Code Manager (SCM) is git and it is the obvious mechanism for meeting the + previously mentioned goals. + Not only is it the SCM for kernel.org but git continues to grow in popularity and + supports many different work flows, front-ends and management techniques. + + + It should be noted that you can use as much, or as little, of what git has to offer + as is appropriate to your project. + +
+
+ +
+ Kernel Tools + +Since most standard workflows involve moving forward with an existing tree by +continuing to add and alter the underlying baseline, the tools that manage +Yocto Project's kernel construction are largely hidden from the developer to +present a simplified view of the kernel for ease of use. + + +The fundamental properties of the tools that manage and construct the +kernel are: + + the ability to group patches into named, reusable features + to allow top down control of included features + the binding of kernel configuration to kernel patches/features + the presentation of a seamless git repository that blends Yocto Project value with the kernel.org history and development + + + +The tools that construct a kernel tree will be discussed later in this +document. The following tools form the foundation of the Yocto Project +kernel toolkit: + + git : distributed revision control system created by Linus Torvalds + guilt: quilt on top of git + *cfg : kernel configuration management and classification + kgit*: Yocto Project kernel tree creation and management tools + scc : series & configuration compiler + + +
+
+ + + + + + +
+ How to get things accomplished with the kernel + + This section describes how to accomplish tasks involving the kernel's tree structure. + The information covers the following: + + Tree construction + Build strategies + Series & Configuration Compiler + kgit + Workflow examples + Source Code Manager (SCM) + Board Support Package (BSP) template migration + BSP creation + Patching + Updating BSP patches and configuration + guilt + scc file example + "dirty" string + Transition kernel layer + + + +
+ Tree Construction + +The Yocto Project kernel repository, as shipped with the product, is created by +compiling and executing the set of feature descriptions for every BSP/feature +in the product. Those feature descriptions list all necessary patches, +configuration, branching, tagging and feature divisions found in the kernel. + + +The files used to describe all the valid features and BSPs in the Yocto Project +kernel can be found in any clone of the kernel git tree. The directory +wrs/cfg/kernel-cache/ is a snapshot of all the kernel configuration and +feature descriptions (.scc) that were used to build the kernel repository. +It should however be noted, that browsing the snapshot of feature +descriptions and patches is not an effective way to determine what is in a +particular kernel branch. Using git directly to get insight into the changes +in a branch is more efficient and a more flexible way to inspect changes to +the kernel. Examples of using git to inspect kernel commits are in the +following sections. + + +As a reminder, it is envisioned that a ground up reconstruction of the +complete kernel tree is an action only taken by Yocto Project staff during an +active development cycle. When an end user creates a project, it takes +advantage of this complete tree in order to efficiently place a git tree +within their project. + + +The general flow of the project specific kernel tree construction is as follows: + + a top level kernel feature is passed to the kernel build subsystem, + normally this is a BSP for a particular kernel type. + + the file that describes the top level feature is located by searching + system directories: + + + the kernel-cache under linux/wrs/cfg/kernel-cache + kernel-*-cache directories in layers + configured and default templates + + + In a typical build a feature description of the format: + <bsp name>-<kernel type>.scc is the target of the search. + + + once located, the feature description is compiled into a simple script + of actions, or an existing equivalent script which was part of the + shipped kernel is located. + + extra features are appended to the top level feature description. Extra + features can come from the command line, the configure script or + templates. + + each extra feature is located, compiled and appended to the script from + step #3 + + the script is executed, and a meta-series is produced. The meta-series + is a description of all the branches, tags, patches and configuration that + need to be applied to the base git repository to completely create the + "bsp_name-kernel_type". + + the base repository (normally kernel.org) is cloned, and the actions + listed in the meta-series are applied to the tree. + + the git repository is left with the desired branch checked out and any + required branching, patching and tagging has been performed. + + + + +The tree is now ready for configuration and compilation. Those two topics will +be covered below. + + +The end user generated meta-series adds to the kernel as shipped with + the Yocto Project release. Any add-ons and configuration data are applied + to the end of an existing branch. The full repository generation that + is found in the linux-2.6-windriver.git is the combination of all + supported boards and configurations. + + + +This technique is flexible and allows the seamless blending of an immutable +history with additional deployment specific patches. Any additions to the +kernel become an integrated part of the branches. + + +It is key that feature descriptions indicate if any branches are + required, since the build system cannot automatically decide where a + BSP should branch or if that branch point needs a name with + significance. There is a single restriction enforced by the compilation + phase: + + A BSP must create a branch of the format <bsp name>-<kernel type>. + + This means that all merged/support BSPs must indicate where to start + its branch from, with the right name, in its .scc files. The scc + section describes the available branching commands in more detail. + + + + +A summary of end user tree construction activities follow: + + compile and link a full top-down kernel description from feature descriptions + execute the complete description to generate a meta-series + interpret the meta-series to create a customized git repository for the + board + migrate configuration fragments and configure the kernel + checkout the BSP branch and build + + +
+ +
+ Build Strategy + +There are some prerequisites that must be met before starting the compilation +phase of the kernel build system: + + + There must be a kernel git repository indicated in the SRC_URI. + There must be a branch <bsp name>-<kernel type>. + + + +These are typically met by running tree construction/patching phase of the +build system, but can be achieved by other means. Examples of alternate work +flows such as bootstrapping a BSP are provided below. + + +Before building a kernel it is configured by processing all of the +configuration "fragments" specified by the scc feature descriptions. As the +features are compiled, associated kernel configuration fragments are noted +and recorded in the meta-series in their compilation order. The +fragments are migrated, pre-processed and passed to the Linux Kernel +Configuration subsystem (lkc) as raw input in the form of a .config file. +The lkc uses its own internal dependency constraints to do the final +processing of that information and generates the final .config that will +be used during compilation. + + +Kernel compilation is started, using the board's architecture and other +relevant values from the board template, and a kernel image is produced. + + +The other thing that you will first see once you configure a kernel is that +it will generate a build tree that is separate from your git source tree. +This build dir will be called "linux-<BSPname>-<kerntype>-build" where +kerntype is one of standard, cg`` +e, etc. This functionality is done by making +use of the existing support that is within the kernel.org tree by default. + + +What this means, is that all the generated files (that includes the final +".config" itself, all ".o" and ".a" etc) are now in this directory. Since +the git source tree can contain any number of BSPs, all on their own branch, +you now can easily switch between builds of BSPs as well, since each one also +has their own separate build directory. + +
+ +
+ Series & Configuration Compiler (SCC) + +In early versions of the product, kernel patches were simply listed in a flat +file called "patches.list", and then quilt was added as a tool to help +traverse this list, which in quilt terms was called a "series" file. + + +Before the 2.0 release, it was already apparent that a static series file was +too inflexible, and that the series file had to become more dynamic and rely +on certain state (like kernel type) in order to determine whether a patch was +to be used or not. The 2.0 release already made use of some stateful +construction of series files, but since the delivery mechanism was unchanged +(tar + patches + series files), most people were not aware of anything really +different. The 3.0 release continues with this stateful construction of +series files, but since the delivery mechanism is changed (git + branches) it +now is more apparent to people. + + +As was previously mentioned, scc is a "series and configuration +compiler". Its role is to combine feature descriptions into a format that can +be used to generate a meta-series. A meta series contains all the required +information to construct a complete set of branches that are required to +build a desired board and feature set. The meta series is interpreted by the +kgit tools to create a git repository that could be built. + + +To illustrate how scc works, a feature description must first be understood. +A feature description is simply a small bash shell script that is executed by +scc in a controlled environment. Each feature description describes a set of +operations that add patches, modify existing patches or configure the +kernel. It is key that feature descriptions can include other features, and +hence allow the division of patches and configuration into named, reusable +containers. + + +Each feature description can use any of the following valid scc commands: + + shell constructs: bash conditionals and other utilities can be used in a feature + description. During compilation, the working directory is the feature + description itself, so any command that is "raw shell" and not from the + list of supported commands, can not directly modify a git repository. + + patch <relative path>/<patch name>: outputs a patch to be included in a feature's patch set. Only the name of + the patch is supplied, the path is calculated from the currently set + patch directory, which is normally the feature directory itself. + + patch_trigger >condition< >action< <tgt>: indicate that a trigger should be set to perform an action on a + patch. + +The conditions can be: + + + arch:<comma separated arch list or "all"> + plat:<comma separated platform list or "all"> + +The action can be: + + exclude: This is used in exceptional situations where a patch + cannot be applied for certain reasons (arch or platform). + When the trigger is satisfied the patch will be removed from + the patch list. + include: This is used to include a patch only for a specific trigger. + Like exclude, this should only be used when necessary. + It takes 1 argument, the patch to include. + + + include <feature name> [after <feature>]: includes a feature for processing. The feature is "expanded" at the + position of the include directive. This means that any patches, + configuration or sub-includes of the feature will appear in the final + series before the commands that follow the include. + + include searches the include directories for a matching feature name, + include directories are passed to scc by the caller using -I <path> and + is transparent to the feature script. This means that <feature name> must + be relative to one of the search paths. For example, if + /opt/kernel-cache/feat/sched.scc is to be included and scc is invoked + with -I /opt/kernel-cache, then a feature would issue "include + feat/sched.scc" to include the feature. + + + The optional "after" directive allows a feature to modify the existing + order of includes and insert a feature after the named feature is + processed. Note: the "include foo after bar" must be issued before "bar" + is processed, so is normally only used by a new top level feature to + modify the order of features in something it is including. + + exclude <feature name>: Indicates that a particular feature should *not* be included even if an + 'include' directive is found. The exclude must be issued before the + include is processed, so is normally only used by a new top level feature + to modify the order of features in something it is including. + + git <command>: Issues any git command during tree construction. Note: this command is + not validated/sanitized so care must be taken to not damage the + tree. This can be used to script branching, tagging, pulls or other git + operations. + + dir <directory>: changes the working directory for "patch" directives. This can be used to + shorten a long sequence of patches by not requiring a common relative + directory to be issued each time. + + kconf <type> <fragment name>: associates a kernel config frag with the feature. + <type> can be + "hardware" or "non-hardware" and is used by the kernel configuration + subsystem to audit configuration. <fragment name> is the name of a file + in the current feature directory that contains a series of kernel + configuration options. There is no restriction on the chosen fragment + name, although a suffix of ".cfg" is recommended. Multiple fragment + specifications are supported. + + branch <branch name>: creates a branch in the tree. All subsequent patch commands will be + applied to the new branch and changes isolated from the rest of the + repository. + + scc_leaf <base feature> <branch name>: Performs a combination feature include and branch. This is mainly a + convenience directive, but has significance to some build system bindings + as a sentinel to indicate that this intends to create a branch that is + valid for kernel compilation. + + tag <tag name>: Tags the tree. The tag will be applied in processing order, so will + be after already applied patches and precede patches yet to be applied. + + define <var> <value>: Creates a variable with a particular value that can be used in subsequent + feature descriptions. + + + +
+ +
+ kgit Tools + +The kgit tools are responsible for constructing and maintaining the Wind +River kernel repository. These activities include importing, exporting, and +applying patches as well as sanity checking and branch management. From the +developers perspective, the kgit tools are hidden and rarely require +interactive use. But one tool in particular that warrants further description +is "kgit-meta". + + +kgit-meta is the actual application of feature description(s) to a kernel repo. +In other words, it is responsible for interpreting the meta series generated +from a scc compiled script. As a result, kgit-meta is coupled to the set of +commands permitted in a .scc feature description (listed in the scc section). +kgit-meta understands both the meta series format and how to use git and +guilt to modify a base git repository. It processes a meta-series line by +line, branching, tagging, patching and tracking changes that are made to the +base git repository. + + +Once kgit-meta has processed a meta-series, it leaves the repository with the +last branch checked out, and creates the necessary guilt infrastructure to +inspect the tree, or add to it via using guilt. As was previously mentioned, +guilt is not required, but is provided as a convenience. Other utilities such +as quilt, stgit, git or others can also be used to manipulate the git +repository. + +
+ +
+ Workflow Examples + + +As previously noted, the Yocto Project kernel has built in git/guilt +integration, but these utilities are not the only way to work with the kernel +repository. Yocto Project has not made changes to git, or other tools that +invalidate alternate workflows. Additionally, the way the kernel repository +is constructed uses only core git functionality allowing any number of tools +or front ends to use the resulting tree. + +This section contains several workflow examples. + + +
+ Change Inspection: Kernel Changes/Commits + +A common question when working with a BSP/kernel is: "What changes have been applied to this tree?" + + +In previous Yocto Project releases, there were a collection of directories that +contained patches to the kernel, those patches could be inspected, grep'd or +otherwise used to get a general feeling for changes. This sort of patch +inspection is not an efficient way to determine what has been done to the +kernel, since there are many optional patches that are selected based on the +kernel type and feature description, not to mention patches that are actually +in directories that are not being searched. + + +A more effective way to determine what has changed in the kernel is to use +git and inspect / search the kernel tree. This is a full view of not only the +source code modifications, but the reasoning behind the changes. + +
+ What Changed in a BSP? + +These examples could continue for some time, since the Yocto Project git +repository doesn't break existing git functionality and there are nearly +endless permutations of those commands. Also note that unless a commit range +is given (<kernel type>..<bsp>-<kernel type>), kernel.org history is blended +with Yocto Project changes + + + # full description of the changes + > git whatchanged <kernel type>..<bsp>-<kernel type> + > eg: git whatchanged standard..common_pc-standard + + # summary of the changes + > git log ‐‐pretty=oneline ‐‐abbrev-commit <kernel type>..<bsp>-<kernel type> + + # source code changes (one combined diff) + > git diff <kernel type>..<bsp>-<kernel type> + > git show <kernel type>..<bsp>-<kernel type> + + # dump individual patches per commit + > git format-patch -o <dir> <kernel type>..<bsp>-<kernel type> + + # determine the change history of a particular file + > git whatchanged <path to file> + + # determine the commits which touch each line in a file + > git blame <path to file> + +
+ +
+ Show a Particular Feature or Branch Change + +Significant features or branches are tagged in the Yocto Project tree to divide +changes. Remember to first determine (or add) the tag of interest. Note: +there will be many tags, since each BSP branch is tagged, kernel.org tags and +feature tags are all present. + + + # show the changes tagged by a feature + > git show <tag> + > eg: git show yaffs2 + + # determine which branches contain a feature + > git branch ‐‐contains <tag> + + # show the changes in a kernel type + > git whatchanged wrs_base..<kernel type> + > eg: git whatchanged wrs_base..standard + + +Many other comparisons can be done to isolate BSP changes, such as comparing +to kernel.org tags (v2.6.27.18, etc), per subsystem comparisons (git +whatchanged mm) or many other types of checks. + +
+
+ +
+ Development: Saving Kernel Modifications + +Another common operation is to build a Yocto Project supplied BSP, make some +changes, rebuild and test. Those local changes often need to be exported, +shared or otherwise maintained. + + +Since the Yocto Project kernel source tree is backed by git, this activity is +greatly simplified and is much easier than in previous releases. git tracks +file modifications, additions and deletions, which allows the developer to +modify the code and later realize that the changes should be saved, and +easily determine what was changed. It also provides many tools to commit, +undo and export those modifications. + + +There are many ways to perform this action, and the technique employed +depends on the destination for the patches, which could be any of: + + bulk storage + internal sharing either through patches or using git + external submission + export for integration into another SCM + + + +The destination of the patches also incluences the method of gathering them +due to issues such as: + + bisectability + commit headers + division of subsystems for separate submission / review + + + +
+ Bulk Export + +If patches are simply being stored outside of the kernel source repository, +either permanently or temporarily, then there are several methods that can be +used. + + +Note the "bulk" in this discussion, these techniques are not appropriate for +full integration of upstream submission, since they do not properly divide +changes or provide an avenue for per-change commit messages. This example +assumes that changes have not been committed incrementally during development +and simply must be gathered and exported. + + # bulk export of ALL modifications without separation or division + # of the changes + + > git add . + > git commit -s -a -m >commit message< + or + > git commit -s -a # and interact with $EDITOR + + + +These operations have captured all the local changes in the project source +tree in a single git commit, and that commit is also stored in the project's +source tree. + + +Once exported, those changes can then be restored manually, via a template or +through integration with the default_kernel. Those topics are covered in +future sections. + +
+ +
+ Incremental/Planned Sharing + +Note: unlike the previous "bulk" section, the following examples assume that +changes have been incrementally committed to the tree during development and +now are being exported. + + +During development the following commands will be of interest, but for full +git documentation refer to the git man pages or an online resource such as +http://github.com + + # edit a file + > vi >path</file + # stage the change + > git add >path</file + # commit the change + > git commit -s + # remove a file + > git rm >path</file + # commit the change + > git commit -s + + ... etc. + + + +Distributed development with git is possible by having a universally agreed +upon unique commit identifier (set by the creator of the commit) mapping to a +specific changeset with a specific parent. This ID is created for you when +you create a commit, and will be re-created when you amend/alter or re-apply +a commit. As an individual in isolation, this is of no interest, but if you +intend to share your tree with normal git push/pull operations for +distributed development, you should consider the ramifications of changing a +commit that you've already shared with others. + + +Assuming that the changes have *not* been pushed upstream, or pulled into +another repository, both the commit content and commit messages associated +with development can be update via: + + > git add >path</file + > git commit ‐‐amend + > git rebase or git rebase -i + + + +Again, assuming that the changes have *not* been pushed upstream, and that +there are no pending works in progress (use "git status" to check) then +commits can be reverted (undone) via: + + # remove the commit, update working tree and remove all + # traces of the change + > git reset ‐‐hard HEAD^ + # remove the commit, but leave the files changed and staged for re-commit + > git reset ‐‐soft HEAD^ + # remove the commit, leave file change, but not staged for commit + > git reset ‐‐mixed HEAD^ + + + +Branches can be created, changes cherry-picked or any number of git +operations performed until the commits are in good order for pushing upstream +or pull requests. After a push or pull, commits are normally considered +'permanent' and should not be modified, only incrementally changed in new +commits. This is standard "git" workflow and Yocto Project recommends the +kernel.org best practices. + +It is recommend to tag or branch before adding changes to a Yocto Project + BSP (or creating a new one), since the branch or tag provides a + reference point to facilitate locating and exporting local changes. + + +
+ Export Internally Via Patches + +Committed changes can be extracted from a working directory by exporting them +as patches. Those patches can be used for upstream submission, placed in a +Yocto Project template for automatic kernel patching or many other common uses. + + + # >first commit> can be a tag if one was created before development + # began. It can also be the parent branch if a branch was created + # before development began. + + > git format-patch -o <dir> <first commit>..<last commit> + + + + + In other words: + + # identify commits of interest. + + # if the tree was tagged before development + > git format-patch -o <save dir> <tag> + + # if no tags are available + > git format-patch -o <save dir> HEAD^ # last commit + > git format-patch -o <save dir> HEAD^^ # last 2 commits + > git whatchanged # identify last commit + > git format-patch -o <save dir> <commit id> + > git format-patch -o <save dir> <rev-list> + + + + +The result is a directory with sequentially numbered patches, that when +applied to a repository using "git am", will reproduce the original commit +and all related information (author, date, commit log, etc) will be +preserved. Note that new commit IDs will be generated upon reapplication, +reflecting that the commit is now applied to an underlying commit with a +different ID. + + +See the "template patching" example for how to use the patches to +automatically apply to a new kernel build. + +
+ +
+ Export Internally Via git + +Committed changes can also be exported from a working directory by pushing +(or by making a pull request) the changes into a master repository. Those +same change can then be pulled into a new kernel build at a later time using this command form: + + git push ssh://<master server>/<path to repo> <local branch>:<remote branch> + +For example: + + > push ssh://openlinux.windriver.com/pub/git/kernel-2.6.27 common_pc-standard:common_pc-standard + +A pull request entails using "git request-pull" to compose an email to the +maintainer requesting that a branch be pulled into the master repository, see +http://github.com/guides/pull-requests for an example. + + +Other commands such as 'git stash' or branching can also be used to save +changes, but are not covered in this document. + + +See the section "importing from another SCM" for how a git push to the +default_kernel, can be used to automatically update the builds of all users +of a central git repository. + +
+
+ +
+ Export for External (Upstream) Submission + +If patches are to be sent for external submission, they can be done via a +pull request if the patch series is large or the maintainer prefers to pull +changes. But commonly, patches are sent as email series for easy review and +integration. + + +Before sending patches for review ensure that you understand the +standard of the community in question and follow their best practices. For +example, kernel patches should follow standards such as: + + + + Documentation/SubmittingPatches (in any linux kernel source tree) + + + +The messages used to commit changes are a large part of these standards, so +ensure that the headers for each commit have the required information. If the +initial commits were not properly documented or don't meet those standards +rebasing via git rebase -i offer an opportunity to manipulate the commits and +get them into the required format. Other techniques such as branching and +cherry picking commits are also viable options. + + +Once complete, patches are sent via email to the maintainer(s) or lists that +review and integrate changes. "git send-email" is commonly used to ensure +that patches are properly formatted for easy application and avoid mailer +induced patch damage. + + +An example of dumping patches for external submission follows: + + # dump the last 4 commits + > git format-patch ‐‐thread -n -o ~/rr/ HEAD^^^^ + > git send-email ‐‐compose ‐‐subject '[RFC 0/N] <patch series summary>' \ + ‐‐to foo@yoctoproject.org ‐‐to bar@yoctoproject.org \ + ‐‐cc list@yoctoproject.org ~/rr + # the editor is invoked for the 0/N patch, and when complete the entire + # series is sent via email for review + + +
+ +
+ Export for Import into Other SCM + +Using any one of the previously discussed techniques, commits can be exported +as patches for import into another SCM. Note however, that if those patches +are manually applied to a secondary tree and then that secondary tree is +checked into the SCM, then it often results in lost information (like commit +logs) and so it is not recommended. + + +Many SCMs can directly import git commits, or can translate git patches to +not lose information. Those facilities are SCM dependent and should be used +whenever possible. + +
+
+ +
+ SCM: Working with the Yocto Project Kernel in Another SCM + +This is not the same as the exporting of patches to another SCM, but instead +is concerned with kernel development that is done completely in another +environment, but built with the Yocto Project build system. In this scenario two +things must happen: + + The delivered Yocto Project kernel must be exported into the second + SCM. + Development must be exported from that secondary SCM into a + format that can be used by the Yocto Project build system. + + +
+ Exporting Delivered Kernel to SCM + +Depending on the SCM it may be possible to export the entire Yocto Project +kernel git repository, branches and all, into a new environment. This is the +preferred method, since it has the most flexibility and potential to maintain +the meta data associated with each commit. + + +When a direct import mechanism is not available, it is still possible to +export a branch (or series of branches) and check them into a new +repository. + + +The following commands illustrate some of the steps that could be used to +import the common_pc-standard kernel into a secondary SCM + + > git checkout common_pc-standard + > cd .. ; echo linux/.git > .cvsignore + > cvs import -m "initial import" linux MY_COMPANY start + +The CVS repo could now be relocated and used in a centralized manner. + + +The following commands illustrate how two BSPs could be condensed and merged +into a second SCM: + + > git checkout common_pc-standard + > git merge cav_ebt5800-standard + # resolve any conflicts and commit them + > cd .. ; echo linux/.git > .cvsignore + > cvs import -m "initial import" linux MY_COMPANY start + + +
+ +
+ Importing Changes for Build + +Once development has reached a suitable point in the second development +environment, changes can either be exported as patches or imported into git +directly (if a conversion/import mechanism is available for the SCM). + +If changes are exported as patches, they can be placed in a template and +automatically applied to the kernel during patching. See the template patch +example for details. + + +If changes are imported directly into git, they must be propagated to the +wrll-linux-2.6.27/git/default_kernel bare clone of each individual build +to be present when the kernel is checked out. + +The following example illustrates one variant of this workflow: + + # on master git repository + > cd linux-2.6.27 + > git tag -d common_pc-standard-mark + > git pull ssh://<foo>@<bar>/pub/git/kernel-2.6.27 common_pc-standard:common_pc-standard + > git tag common_pc-standard-mark + + # on each build machine (or NFS share, etc) + > cd wrll-linux-2.6.27/git/default_kernel + > git fetch ssh://<foo>@<master server>/pub/git/kernel-2.6.27 + + # in the build, perform a from-scratch build of Linux and the new changes + # will be checked out and built. + > make linux + + +
+
+ +
+ BSP: Template Migration from 2.0 + +The move to a git-backed kernel build system in 3.0 introduced a small new +requirement for any BSP that is not integrated into the GA release of the +product: branching information. + + +As was previously mentioned in the background sections, branching information +is always required, since the kernel build system cannot make intelligent +branching decisions and must rely on the developer. This branching +information is provided via a .scc file. + + +A BSP template in 2.0 contained build system information (config.sh, etc) and +kernel patching information in the 'linux' subdirectory. The same holds true +in 3.0, with only minor changes in the kernel patching directory. +The ".smudge" files are now ".scc" files and now contain a full description + of the kernel branching, patching and configuration for the BSP. Where in + 2.0, they only contained kernel patching information. + + +The following illustrates the migration of a simple 2.0 BSP template to the +new 3.0 kernel build system. + + +Note: all operations are from the root of a customer layer. + + + templates/ + `‐‐ board + `‐‐ my_board + |‐‐ config.sh + |‐‐ include + `‐‐ linux + `‐‐ 2.6.x + |‐‐ knl-base.cfg + |‐‐ bsp.patch + `‐‐ my_bsp.smudge + + > mv templates/board/my_board/linux/2.6.x/* templates/board/my_board/linux + > rm -rf templates/board/my_board/linux/2.6.x/ + > mv templates/board/my_board/linux/my_bsp.smudge \ + templates/board/my_board/linux/my_bsp-standard.scc + > echo "kconf hardware knl-base.cfg" >> \ + templates/board/my_board/linux/my_bsp-standard.scc + > vi templates/board/my_board/linux/my_bsp-standard.scc + # add the following at the top of the file + scc_leaf ktypes/standard my_bsp-standard + + templates/ + `‐‐ board + `‐‐ my_board + |‐‐ config.sh + |‐‐ include + `‐‐ linux + |‐‐ knl-base.cfg + |‐‐ bsp.patch + `‐‐ my_bsp-standard.scc + + +That's it. Configure and build. + +There is a naming convention for the .scc file, which allows the build + system to locate suitable feature descriptions for a board: + + + <bsp name>-<kernel type>.scc + + + if this naming convention isn't followed your feature description will + not be located and a build error thrown. + +
+ +
+ BSP: Creating a New BSP + +Although it is obvious that the structure of a new BSP uses the migrated +directory structure from the previous example,the first question is whether +or not the BSP is started from scratch. + + +If Yocto Project has a similar BSP, it is often easier to clone and update, +rather than start from scratch. If the mainline kernel has support, it is +easier to branch from the -standard kernel and begin development (and not be +concerned with undoing existing changes). This section covers both options. + + +In almost every scenario, the LDAT build system bindings must be completed +before either cloning or starting a new BSP from scratch. This is simply +because the board template files are required to configure a project/build +and create the necessary environment to begin working directly with the +kernel. If it is desired to start immediately with kernel development and +then add LDAT bindings, see the "bootstrapping a BSP" section. + +
+ Creating the BSP from Scratch + +To create the BSP from scratch you need to do the following: + + Create a board template for the new BSP in a layer. + Configure a build with the board. + Configure a kernel. + + + +Following is an example showing all three steps. You start by creating a board template for the new BSP in a layer. + + templates/ + `‐‐ board + `‐‐ my_bsp + |‐‐ include + |‐‐ config.sh + `‐‐ linux + |‐‐ my_bsp.cfg + `‐‐ my_bsp-standard.scc + + > cat config.sh + TARGET_BOARD="my_bsp" + TARGET_LINUX_LINKS="bzImage" + TARGET_SUPPORTED_KERNEL="standard" + TARGET_SUPPORTED_ROOTFS="glibc_std" + BANNER="This BSP is *NOT* supported" + TARGET_PROCFAM="pentium4" + TARGET_PLATFORMS="GPP" + + > cat include + cpu/x86_32_i686 + karch/i386 + + > cat linux/my_bsp-standard.scc + scc_leaf ktypes/standard/standard.scc my_bsp-standard + + > cat linux/my_bsp.cfg + CONFIG_X86=y + CONFIG_SMP=y + CONFIG_VT=y + # etc, etc, etc + + + +Something like the following can now be added to a board build, and +a project can be started: + + ‐‐enable-board=my_bsp \ + ‐‐with-layer=custom_bsp + + + +Now you can configure a kernel: + + > make -C build linux.config + + + +You now have a kernel tree, which is branched and has no patches, ready for +development. + +
+ +
+ Cloning an Existing BSP + +Cloning an existing BSP from the shipped product is similar to the "from +scratch" option and there are two distinct ways to achieve this goal: + + Create a board template for the new BSP in a layer. + Clone the .scc and board config. + + + +The first method is similar to the from scratch BSP where you create a board template for the new +BSP. Although in this case, copying an existing board template from +wrll-wrlinux/templates/board would be appropriate, since we are cloning an +existing BSP. Edit the config.sh, include and other board options for the new +BSP. + + +The second method is to clone the .scc and board config. +To do this, in the newly created board template, create a linux subdirectory and export +the .scc and configuration from the source BSP in the published Yocto Project +kernel. During construction, all of the configuration and patches were +captured, so it is simply a matter of extracting them. + + +Extraction can be accomplished using four different techniques: + + Config and patches from the bare default_kernel. + Clone default_kernel and checkout wrs_base. + Clone default_kernel and checkout BSP branch. + Branch from the Yocto Project BSP. + + + +Technique 1: config and patches from the bare default_kernel + + > cd layers/wrll-linux-2.6.27/git/default_kernel + > git show checkpoint_end | filterdiff -i '*common_pc*' | patch -s -p2 -d /tmp + + # This will create two directories: cfg and patches. + + > cd /tmp/cfg/kernel-cache/bsp/common_pc/ + + # This directory contains all the patches and .scc files used to construct + # the BSP in the shipped tree. Copy the patches to the new BSP template, + # and add them to the .scc file created above. See "template patching" if + # more details are required. + + + +Technique 2: clone default_kernel and checkout wrs_base + + > git clone layers/wrll-linux-2.6.27/git/default_kernel windriver-2.6.27 + > cd windriver-2.6.27 + > git checkout wrs_base + > cd wrs/cfg/kernel-cache/bsp/common_pc + +# again, this directory has all the patches and .scc files used to construct +# the BSP + + + +Technique 3: clone default_kernel and checkout BSP branch + + > git clone layers/wrll-linux-2.6.27/git/default_kernel windriver-2.6.27 + > cd windriver-2.6.27 + > git checkout common_pc-standard + > git whatchanged + # browse patches and determine which ones are of interest, say there are + # 3 patches of interest + > git format-patch -o <path to BSP template>/linux HEAD^^^ + # update the .scc file to add the patches, see "template patches" if + # more details are required + + + +Technique #4: branch from the Yocto Project BSP +This is potentially the most "different" technique, but is actually + the easiest to support and leverages the infrastructure. rtcore BSPs + are created in a similar manner to this. + + + +In this technique the .scc file in the board template is slightly different + and indicates that the BSP should branch after the base Yocto Project BSP + of the correct kernel type, so to start a new BSP that inherits the + kernel patches of the common_pc-standard, the following would be done: + + > cat linux/my_bsp-standard.scc + scc_leaf bsp/common_pc/common_pc-standard.scc my_bsp-standard + + + + And only kernel configuration (not patches) need be contained in the + board template. + + + This has the advantage of automatically picking up updates to the BSP + and not duplicating any patches for a similar board. + +
+ +
+ BSP: Bootstrapping + +The previous examples created the board templates and configured a build +before beginning work on a new BSP. It is also possible for advanced users to +simply treat the Yocto Project git repository as an upstream source and begin +BSP development directly on the repository. This is the closest match to how +the kernel community at large would operate. + + +Two techniques exist to accomplish this: + + +Technique 1: upstream workflow + + > git clone layers/wrll-linux-2.6.27/git/default_kernel windriver-2.6.27 + > cd windriver-2.6.27 + > git checkout -b my_bsp-standard common_pc-standard + + # edit files, import patches, generally do BSP development + + # at this point we can create the BSP template, and export the kernel + # changes using one of the techniques discussed in that section. For + # example, It is possible to push these changes, directly into the + # default_kernel and never directly manipulate or export patch files + + + +Technique 2: Yocto Project kernel build workflow + + + Create the BSP branch from the appropriate kernel type + + > cd linux + # the naming convention for auto-build is <bsp>-<kernel type> + > git checkout -b my_bsp-standard standard + + + +Make changes, import patches, etc. + + > ../../host-cross/bin/guilt init + # 'wrs/patches/my_bsp-standard' has now been created to + # manage the branches patches + + # option 1: edit files, guilt import + > ../../host-cross/bin/guilt new extra-version.patch + > vi Makefile + > ../../host-cross/bin/guilt refresh + # add a header + > ../../host-cross/bin/guilt header -e + # describe the patch using best practices, like the example below: + + ‐‐‐>‐‐‐>‐‐‐> cut here + From: Bruce Ashfield <bruce.ashfield@windriver.com> + + Adds an extra version to the kernel + + Modify the main EXTRAVERSION to show our bsp name + + Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> + ‐‐‐>‐‐‐>‐‐‐> cut here + + # option 2: import patches + > git am <patch> + or + > git apply <patch> + > git add <files> + > git commit -s + + # configure the board, save relevant options + > make ARCH=<arch> menuconfig + + # save the cfg changes for reconfiguration + > mkdir wrs/cfg/<cache>/my_bsp + > vi wrs/cfg/<cache>/my_bsp/my_bsp.cfg + + # classify the patches + > ../../host-cross/bin/kgit classify create <kernel-foo-cache>/my_bsp/my_bsp + # test build + > cd .. + > make linux TARGET_BOARD=my_bsp kprofile=my_bsp use_current_branch=1 + + + + Assuming the patches have been exported to the correct location, Future + builds will now find the board, apply the patches to the base tree and make + the relevant branches and structures and the special build options are no + longer required. + +
+
+ +
+ Patching + +The most common way to apply patches to the kernel is via a template. +However, for more advanced applications (such as the sharing of patches between +multiple sub-features) it is possible to patch the kernel-cache. +This section covers both scenarios. + +
+ Patching: Template + +kernel +templates follow the same rules as any LDAT template. A directory should be +created in a recognized template location, with a 'linux' subdirectory. The +'linux' directory triggers LDAT to pass the dir as a potential patch location +to the kernel build system. Any .scc files found in that directory, will be +automatically appended to the end of the BSP branch (for the configured +board). + + +This behavior is essentially the same since previous product +releases. The only exception is the use of ".scc", which allows kernel +configuration AND patches to be applied in a template. + + +If creating a full template is not required, a .scc file can be placed at +the top of the build, along with configuration and patches. The build +system will pickup the .scc and add it onto the patch list automatically + + +As an example, consider a simple template to update a BP: + + > cat templates/feature/extra_version/linux/extra_version.scc + patch 0001-extraversion-add-Wind-River-identifier.patch + + + +To illustrate how the previous template patch was created, the following +steps were performed: + + > cd <board build>/build/linux + > vi Makefile + # modify EXTRAVERSION to have a unique string + > git commit -s -m "extraversion: add Yocto Project identifier" Makefile + > git format-patch -o <path to layer>/templates/feature/extra_version/linux/ + > echo "patch 0001-extraversion-add-Wind-River-identifier.patch" > \ + <path to layer>/templates/feature/extra_version/linux/extra_version.scc + + + +This next example creates a template with a linux subdirectory, just as we + always have for previous releases. + + > mkdir templates/features/my_feature/linux + + + + In that directory place your feature description, your + patch and configuration (if required). + + > ls templates/features/my_feature/linux + + version.patch + my_feature.scc + my_feature.cfg + + + + The .scc file describes the patches, configuration and + where in the patch order the feature should be inserted. + + patch version.patch + kconf non-hardware my_feature.cfg + + + + Configure your build with the new template + + ‐‐with-template=features/my_feature + + + +Build the kernel + + > make linux + + +
+ +
+ Patching: Kernel Cache + +As previously mentioned, this example is included for completeness, and is for more advanced +applications (such as the sharing of patches between multiple sub-features). +Most patching should be done via templates, since that interface is +guaranteed not to change and the kernel-cache interface carries no such +guarantee. + + +At the top of a layer, create a kernel cache. The build system will recognize +any directory of the name 'kernel-*-cache' as a kernel cache. + + > cd <my layer> + >mkdir kernel-temp-cache + + + +Make a directory with the BSP + + > mkdir kernel-temp-cache + > mkdir kernel-temp-cache/my_feat + + + +Create the feature files as they were in technique #1 + + > echo "patch my_patch.path" > kernel-temp-cache/my_feat/my_feature.scc + + + +Configure the build with the feature added to the kernel type + + ‐‐with-kernel=standard+my_feat/my_feature.scc + + + +Build the kernel + + > make linux + + +
+
+ +
+ BSP: Updating Patches and Configuration + +As was described in the "template patching" example, it is simple +to add patches to a BSP via a template, but often, it is desirable +to experiment and test patches before committing them to a template. +You can do this by modifying the BSP source. + + +Start as follows: + + > cd linux + > git checkout <bspname>-<kernel name> + + > git am <patch> + + + +Or you can do this: + + > kgit-import -t patch <patch> + + > cd .. + > make linux + + + +For details on conflict resolution and patch application, see the +git manual, or other suitable online references. + + > git am <mbox> + # conflict + > git apply ‐‐reject .git/rebase-apply/0001 + # resolve conflict + > git am ‐‐resolved (or git am ‐‐skip, git am ‐‐abort) + # continue until complete + + + +Here is another example: + + # merge the patches + # 1) single patch + > git am <mbox> + > git apply <patch< + > kgit import -t patch <patch> + + # 2) multiple patches + > git am <mbox> + > kgit import -t dir <dir> + + # if kgit -t dir is used, a patch resolution cycle such + # as this can be used: + + > kgit import -t dir <dir> + # locate rejects and resolve + # options: + > wiggle ‐‐replace <path to file> <path to reject> + > guilt refresh + or + > # manual resolution + > git add <files> + > git commit -s + or + > git apply ‐‐reject .git/rebase-apply/0001 + > git add <files> + > git am ‐‐resolved + or + > # merge tool of choice + + # continue series: + + > kgit import -t dir <dir> + or + > git am ‐‐continue + + + +Once all the patches have been tested and are satisfactory, they +should be exported via the techniques described in "saving kernel +modifications." + + +Once the kernel has been patched and configured for a BSP, it's +configuration commonly needs to be modified. This can be done by +running [menu|x]config on the kernel tree, or working with +configuration fragments. + + +Using menuconfig, the operation is as follows: + + > make linux.menuconfig + > make linux.rebuild + + + +Once complete, the changes are in linux-<bsp>-<kernel type>-build/.config. +To permanently save these changes, compare the .config before and after the +menuconfig, and place those changes in a configuration fragment in the +template of your choice. + + +Using configuration fragments, the operation is as follows (using the +si_is8620 as an example BSP): + + > vi linux/wrs/cfg/kernel-cache/bsp/si_is8620/si_is8620.cfg + > make linux.reconfig + > make linux.rebuild + + + +The modified configuration fragment can simply be copied out of the +linux/wrs/.. directory and placed in the appropriate template for future +application. + +
+ +
+ Tools: guilt + +Yocto Project has guilt integrated as a kernel tool; therefore users that are +familiar with quilt may wish to use this tool to pop, push and refresh +their patches. Note: guilt should only be used for local operations, once +a set of changes has been pushed or pulled, they should no longer be popped +or refresh by guilt, since popping, refreshing and re-pushing patches +changes their commit IDs and creating non-fast forward branches. + + +The following example illustrates how to add patches a Yocto Project +BSP branch via guilt: + + > cd build/linux + > git checkout common_pc-standard + > guilt new extra.patch + # edit files, make changes, etc + > guilt refresh + > guilt top + extra.patch + + # export that patch to an external location + > kgit export -p top /tmp + + + +Other guilt operations of interest are: + + > guilt push, guilt push -a + > guilt pop + > guilt applied, guilt unapplied + > guilt top + > guilt refresh + > guilt header -e + > guilt next + + + +Guilt only uses git commands and git plumbing to perform its operations, +anything that guilt does can also be done using git directly. It is provided +as a convenience utility, but is not required and the developer can use whatever +tools or workflow they wish. + + +The following builds from the above instructions to show how guilt can be +used to assist in getting your BSP kernel patches ready. You should follow +the above instructions up to and including 'make linux.config'. In this +example I will create a new commit (patch) from scratch and import another +fictitious patch from some external public git tree (ie, a commit with full +message, signoff etc.). Please ensure you have host-cross/bin in your path. + + %> cd linux + %> guilt-init + %> guilt-new -m fill_me_in_please first_one.patch + %> touch somefile.txt + %> guilt-add somefile.txt + %> guilt-header -e + %> guilt-refresh + %> guilt-import path_to_some_patch/patch_filename + %> guilt-push + + + +Here are a few notes about the above: + + guilt-header -e ‐‐ this will open editing of the patch header in + EDITOR. As with a git commit the first line is the short log and + should be just that short and concise message about the commit. Follow + the short log with lines of text that will be the long description but + note Do not put a blank line after the short log. As usual you will + want to follow this with a blank line and then a signoff line. + + The last line in the example above has 2 dots on the end. If you + don't add the 2 periods on the end guilt will think you are sending + just one patch. The wrong one! + + The advantage to using guilt over not using guilt is that if you have a + review comment in the first patch (first_one.patch in the case of this + example) it is very easy to use guilt to pop the other patches off + allowing you to make the necessary changes without having to use more + inventive git type strategies. + + +
+ +
+ Tools: scc File Example + +This section provides some scc file examples: leaf node, 'normal' mode, and transforms. + +
+ Leaf Node + +The following example is a BSP branch with no child branches - a leaf on the tree. + + # these are optional, but allow standalone tree construction + define WRS_BOARD <name> + define WRS_KERNEL <kern type> + define WRS_ARCH <arch> + + scc_leaf ktypes/standard common_pc-standard + # ^ ^ + # +‐‐ parent + branch name + + include common_pc.scc + # ^ + # +‐‐‐ include another feature + + +
+ +
+ 'Normal' Mode + +Here is an example of 'normal' mode: + + # +‐‐‐‐ name of file to read + # v + kconf hardware common_pc.cfg + # ^ ^ + # | +‐‐ 'type: hardware or non-hardware + # | + # +‐‐‐ kernel config + + # patches + patch 0002-atl2-add-atl2-driver.patch + patch 0003-net-remove-LLTX-in-atl2-driver.patch + patch 0004-net-add-net-poll-support-for-atl2-driver.patch + + + +
+ +
+ Transforms + +This section shows an example of transforms: + + # either of the next two options will trigger an 'auto' + # branch from existing ones, since they change the commit + # order and hence must construct their own branch + + # this changes the order of future includes, if the + # passed feature is detected, the first feature is + # included AFTER it + include features/rt/rt.scc after features/kgdb/kgdb + # this also changes the order of existing branches + # this prevents the named feature from ever being + # included + exclude features/dynamic_ftrace/dynamic_ftrace.scc + + # inherit the standard kernel + include ktypes/standard/standard + + + # LTT supplies this, so we don't want the sub-chunk from RT. + patch_trigger arch:all exclude ftrace-upstream-tracepoints.patch + # ...but we still want the one unique tracepoint it added. + patch tracepoint-add-for-sched_resched_task.patch + + # these will change the named patches in the series into + # <patch name>.patch.<feature name> + # where the substituted patch is in this directory + patch_trigger arch:all ctx_mod dynamic_printk.patch + patch_trigger arch:all ctx_mod 0001-Implement-futex-macros-for-ARM.patch + # unconditionally exclude a patch + patch_trigger arch:all exclude ftrace-fix-ARM-crash.patch + + +
+
+ +
+ "-dirty" String + +If kernel images are being built with -dirty on the end of the version +string, this simply means that there are modification in the source +directory that haven't been committed. + + > git status + + + +The above git command will indicate modified, removed or added files. Those changes should +be committed to the tree (even if they will never be saved, or exported +for future use) and the kernel rebuilt. + + +To brute force pickup and commit all such pending changes enter the following: + + > git add . + > git commit -s -a -m "getting rid of -dirty" + + + +And then rebuild the kernel + +
+ +
+ Kernel: Transition Kernel Layer + +In order to temporarily use a different base kernel in Yocto Project +Linux 3.0 you need to do the following: + + Create a custom kernel layer. + Create a git repository of the transition kernel. + + + +Once those requirements are met multiple boards and kernels can +be built. The cost of setup is only paid once and then additional +BSPs and options can be added. + + +This creates a transition kernel layer to evaluate functionality +of some other kernel with the goal of easing transition to an +integrated and validated Yocto Project kernel. + + +The next few sections describe the process: + +
+ Creating a Custom Kernel Layer + +The custom kernel layer must have the following minimum +elements: + + An include of the shipped Yocto Project kernel layer. + A kernel-cache with an override of the standard kernel type. + + + +This allows the inheritance of the kernel build infrastructure, +while overriding the list of patches that should be applied to +the base kernel. + + +The kernel layer can optionally include an override to the base +Yocto Project Linux BSP to inhibit the application of BSP specific +patches. If a custom BSP is being used, this is not required. + +
+ +
+ git Repo of the Transition Kernel + +The kernel build system requires a base kernel repository to +seed the build process. This repository must be found in the +same layer as the build infrastructure (i.e wrll-linux-2.6.27) +in the 'git' subdir, with the name 'default_kernel' + +Since Yocto Project Linux ships with a default_kernel +(the validated Yocto Project kernel) in the wrll-linux-2.6.27 +kernel layer, that must be removed and replaced with the +transition kernel. + +If the Yocto Project install cannot be directly modified +with the new default kernel, then the path to the transition +kernel layer's 'git' subdir must be passed to the build +process via: + +linux_GIT_BASE=<absolute path to layer>/git + + + +If the transition kernel has not been delivered via git, +then a git repo should be created, and bare cloned into +place. Creating this repository is as simple as: + + > tar zxvf temp_kernel.tgz + > cd temp_kernel + > git init + > git add . + > git commit -a -m "Transition kernel baseline" + + 'temp_kernel' can now be cloned into place via: + + > cd <path to git base>/git + > git clone ‐‐bare <path to temp_kernel/temp_kernel default_kernel + + +
+ +
+ Building the Kernel + +Once these prerequisites have been met, the kernel can be +built with: + + > make linux + + + +The new base kernel will be cloned into place and have any patches +indicated in the transition kernel's cache (or templates) applied. +The kernel build will detect the non-Yocto Project base repo and +use the HEAD of the tree for the build. + +
+ +
+ Example + +This example creates a kernel layer to build the latest +kernel.org tree as the 'common_pc' BSP. + + > cd <path to layers> + > mkdir wrll-linux-my_version + > cd wrll-linux-my_version + > echo "wrll-linux-2.6.27" > include + > mkdir -p kernel-cache/ktypes/standard + > mkdir -p kernel-cache/bsp/common_pc + > echo "v2.6.29" > kernel-cache/kver + > echo "branch common_pc-standard" > kernel-cache/bsp/common_pc/common_pc.scc + > echo "kconf hardware common_pc.cfg" >> kernel-cache/bsp/common_pc/common_pc.scc + > echo "CONFIG_FOO=y" > kernel-cache/bsp/common_pc/common_pc.cfg + > mkdir git + > cd git + > git clone ‐‐bare git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git default_kernel + + + +Configure a build to use the new layer. This means that: + + ‐‐enable-kernel-version=my_version + + + +Should be used to override the shipped default. + + +To build the kernel: + + > cd build + > make linux_GIT_BASE=<layer path>/wrll-linux-my_version/git linux + + + +If this is to build without some user intervention (passing of the +GIT_BASE), you must do the clone into the wrll-linux-2.6.27/git directory. + +Unless you define valid "hardware.kcf" and "non-hardware.kcf" some +non fatal warnings will be seen. They can be fixed by populating these +files in the kernel-cache with valid hardware and non hardware config +options. + +
+
+
+ + + + + + + + +
+ +
+ -- 2.40.1