From 3b76aa4b497a35e355d46c7a5be7a91fefa943e4 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 15 Jul 2011 05:27:38 -0700 Subject: [PATCH] documentation/dev-manual: Added top-level directory for Dev Manual. (From yocto-docs rev: d85283b6c1d939909c46f94750e4ff36ee42cadb) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/dev-manual/dev-man-cases.xml | 57 ++ .../dev-manual/dev-man-customization.xsl | 8 + documentation/dev-manual/dev-man-intro.xml | 57 ++ documentation/dev-manual/dev-man-newbie.xml | 57 ++ documentation/dev-manual/dev-man-start.xml | 57 ++ documentation/dev-manual/dev-man.xml | 77 ++ .../dev-manual/figures/dev-title.png | Bin 0 -> 14305 bytes documentation/dev-manual/style.css | 968 ++++++++++++++++++ 8 files changed, 1281 insertions(+) create mode 100644 documentation/dev-manual/dev-man-cases.xml create mode 100644 documentation/dev-manual/dev-man-customization.xsl create mode 100644 documentation/dev-manual/dev-man-intro.xml create mode 100644 documentation/dev-manual/dev-man-newbie.xml create mode 100644 documentation/dev-manual/dev-man-start.xml create mode 100644 documentation/dev-manual/dev-man.xml create mode 100644 documentation/dev-manual/figures/dev-title.png create mode 100644 documentation/dev-manual/style.css diff --git a/documentation/dev-manual/dev-man-cases.xml b/documentation/dev-manual/dev-man-cases.xml new file mode 100644 index 0000000000..e119068393 --- /dev/null +++ b/documentation/dev-manual/dev-man-cases.xml @@ -0,0 +1,57 @@ + + + + +Yocto Project Kernel Architecture and Use Manual + +
+ Introduction + + The 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 + . + + +
+ + + + + + + +
+ diff --git a/documentation/dev-manual/dev-man-customization.xsl b/documentation/dev-manual/dev-man-customization.xsl new file mode 100644 index 0000000000..8eb69050ba --- /dev/null +++ b/documentation/dev-manual/dev-man-customization.xsl @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/documentation/dev-manual/dev-man-intro.xml b/documentation/dev-manual/dev-man-intro.xml new file mode 100644 index 0000000000..e119068393 --- /dev/null +++ b/documentation/dev-manual/dev-man-intro.xml @@ -0,0 +1,57 @@ + + + + +Yocto Project Kernel Architecture and Use Manual + +
+ Introduction + + The 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 + . + + +
+ + + + + + + +
+ diff --git a/documentation/dev-manual/dev-man-newbie.xml b/documentation/dev-manual/dev-man-newbie.xml new file mode 100644 index 0000000000..e119068393 --- /dev/null +++ b/documentation/dev-manual/dev-man-newbie.xml @@ -0,0 +1,57 @@ + + + + +Yocto Project Kernel Architecture and Use Manual + +
+ Introduction + + The 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 + . + + +
+ + + + + + + +
+ diff --git a/documentation/dev-manual/dev-man-start.xml b/documentation/dev-manual/dev-man-start.xml new file mode 100644 index 0000000000..e119068393 --- /dev/null +++ b/documentation/dev-manual/dev-man-start.xml @@ -0,0 +1,57 @@ + + + + +Yocto Project Kernel Architecture and Use Manual + +
+ Introduction + + The 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 + . + + +
+ + + + + + + +
+ diff --git a/documentation/dev-manual/dev-man.xml b/documentation/dev-manual/dev-man.xml new file mode 100644 index 0000000000..b045465016 --- /dev/null +++ b/documentation/dev-manual/dev-man.xml @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + Bruce Ashfield + + Wind River Corporation + + bruce.ashfield@windriver.com + + + + + + 0.9 + 24 November 2010 + This revision is the initial document draft and corresponds with + the Yocto Project 0.9 Release. + + + 1.0 + 6 April 2011 + This revision corresponds with the Yocto Project 1.0 Release. + + + 1.0.1 + 23 May 2011 + Released with Yocto Project 1.0.1 on 23 May 2011. + + + + + 2010-2011 + 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. + + + + + + + + + + + + + + + diff --git a/documentation/dev-manual/figures/dev-title.png b/documentation/dev-manual/figures/dev-title.png new file mode 100644 index 0000000000000000000000000000000000000000..965264ccc5f6d7fa3cf85b9c1edca78e136ceaf1 GIT binary patch literal 14305 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