diff options
Diffstat (limited to 'documentation/dev-manual/dev-manual-model.xml')
-rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 75 |
1 files changed, 18 insertions, 57 deletions
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index bd6a85b987..05ff369f5d 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
@@ -86,67 +86,26 @@ | |||
86 | <title>Kernel Overview</title> | 86 | <title>Kernel Overview</title> |
87 | 87 | ||
88 | <para> | 88 | <para> |
89 | The kernels are maintained using the Git revision control system | 89 | Upstream storage of all the available kernel source code is |
90 | that structures them using the familiar "tree", "branch", and "leaf" scheme. | 90 | one thing, while representing and using the code on your host |
91 | Branches represent diversions from general code to more specific code, while leaves | 91 | development system is another. |
92 | represent the end-points for a complete and unique kernel whose source files, | 92 | Conceptually, you can think of the kernel source repositories |
93 | when gathered from the root of the tree to the leaf, accumulate to create the files | 93 | as all the source files necessary for all the supported |
94 | necessary for a specific piece of hardware and its features. | 94 | Yocto Linux kernels. |
95 | The following figure displays this concept: | 95 | As a developer, you are just interested in the source files |
96 | <para> | 96 | for the kernel on which you are working. |
97 | <imagedata fileref="figures/kernel-overview-1.png" | ||
98 | width="6in" depth="6in" align="center" scale="100" /> | ||
99 | </para> | ||
100 | |||
101 | <para> | ||
102 | Within the figure, the "Kernel.org Branch Point" represents the point in the tree | ||
103 | where a supported base kernel is modified from the Linux kernel. | ||
104 | For example, this could be the branch point for the <filename>linux-yocto-3.19</filename> | ||
105 | kernel. | ||
106 | Thus, everything further to the right in the structure is based on the | ||
107 | <filename>linux-yocto-3.19</filename> kernel. | ||
108 | Branch points to the right in the figure represent where the | ||
109 | <filename>linux-yocto-3.19</filename> kernel is modified for specific hardware | ||
110 | or types of kernels, such as real-time kernels. | ||
111 | Each leaf thus represents the end-point for a kernel designed to run on a specific | ||
112 | targeted device. | ||
113 | </para> | ||
114 | |||
115 | <para> | ||
116 | The overall result is a Git-maintained repository from which all the supported | ||
117 | kernel types can be derived for all the supported devices. | ||
118 | A big advantage to this scheme is the sharing of common features by keeping them in | ||
119 | "larger" branches within the tree. | ||
120 | This practice eliminates redundant storage of similar features shared among kernels. | ||
121 | </para> | ||
122 | |||
123 | <note> | ||
124 | Keep in mind the figure does not take into account all the supported Yocto | ||
125 | Project kernel types, but rather shows a single generic kernel just for conceptual purposes. | ||
126 | Also keep in mind that this structure represents the Yocto Project source repositories | ||
127 | that are either pulled from during the build or established on the host development system | ||
128 | prior to the build by either cloning a particular kernel's Git repository or by | ||
129 | downloading and unpacking a tarball. | ||
130 | </note> | ||
131 | |||
132 | <para> | ||
133 | Upstream storage of all the available kernel source code is one thing, while | ||
134 | representing and using the code on your host development system is another. | ||
135 | Conceptually, you can think of the kernel source repositories as all the | ||
136 | source files necessary for all the supported kernels. | ||
137 | As a developer, you are just interested in the source files for the kernel on | ||
138 | which you are working. | ||
139 | And, furthermore, you need them available on your host system. | 97 | And, furthermore, you need them available on your host system. |
140 | </para> | 98 | </para> |
141 | 99 | ||
142 | <para> | 100 | <para> |
143 | Kernel source code is available on your host system a couple of different | 101 | Kernel source code is available on your host system a couple |
144 | ways. | 102 | of different ways. |
145 | If you are working in the kernel all the time, you probably would want | 103 | If you are working in the kernel all the time, you probably |
146 | to set up your own local Git repository of the kernel tree. | 104 | would want to set up your own local Git repository of the |
147 | If you just need to make some patches to the kernel, you can access | 105 | Yocto Linux kernel tree. |
148 | temporary kernel source files that were extracted and used | 106 | If you just need to make some patches to the kernel, you can |
149 | during a build. | 107 | access temporary kernel source files that were extracted and |
108 | used during a build. | ||
150 | We will just talk about working with the temporary source code. | 109 | We will just talk about working with the temporary source code. |
151 | For more information on how to get kernel source code onto your | 110 | For more information on how to get kernel source code onto your |
152 | host system, see the | 111 | host system, see the |
@@ -164,6 +123,8 @@ | |||
164 | Thus, in a sense, the process constructs a local source tree specific to your | 123 | Thus, in a sense, the process constructs a local source tree specific to your |
165 | kernel to generate the new kernel image - a source generator if you will. | 124 | kernel to generate the new kernel image - a source generator if you will. |
166 | </para> | 125 | </para> |
126 | |||
127 | <para> | ||
167 | The following figure shows the temporary file structure | 128 | The following figure shows the temporary file structure |
168 | created on your host system when the build occurs. | 129 | created on your host system when the build occurs. |
169 | This | 130 | This |