summaryrefslogtreecommitdiffstats
path: root/documentation/dev-manual
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2017-08-18 15:12:33 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-02 00:52:48 +0100
commita64831cad79e46c50509aad89f6fefad71123b60 (patch)
tree4b8e92879e4a6444efd696f2caf9dd7bd92297d9 /documentation/dev-manual
parent25aacfe1dadad0e762dccd1c1d061ea77c25a3a3 (diff)
downloadpoky-a64831cad79e46c50509aad89f6fefad71123b60.tar.gz
kernel-dev, dev-manual: Moved Kernel prep steps
The dev-manual had a place-holder section for getting the build host ready for using YP and then doing kernel development. This stuff is better suited for the actual kernel development manual. I moved the section. Moving created several broken links in the manual set that had to be fixed. In the dev-manual, I updated the introductory list to include the newly moved kernel stuff. (From yocto-docs rev: 2e21260bb5f84e9e30eb353ec841d5962e8a7642) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/dev-manual')
-rw-r--r--documentation/dev-manual/dev-manual-start.xml127
1 files changed, 3 insertions, 124 deletions
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 85dff0b673..94595756b8 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -45,7 +45,9 @@
45 </para></listitem> 45 </para></listitem>
46 <listitem><para> 46 <listitem><para>
47 <emphasis>Kernel Development:</emphasis> 47 <emphasis>Kernel Development:</emphasis>
48 Need some kernel links. 48 See the
49 "<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;#preparing-the-build-host-to-work-on-the-kernel'>Preparing the Build Host to Work on the Kernel</ulink>"
50 section in the Yocto Project Linux Kernel Development Manual.
49 </para></listitem> 51 </para></listitem>
50 <listitem><para> 52 <listitem><para>
51 <emphasis>Eclipse Development:</emphasis> 53 <emphasis>Eclipse Development:</emphasis>
@@ -231,129 +233,6 @@
231 section in the Toaster User Manual. 233 section in the Toaster User Manual.
232 </para> 234 </para>
233 </section> 235 </section>
234
235 <section id='local-kernel-files'>
236 <title>Setting Up to Work on a Kernel</title>
237
238 <para>
239 Kernel development is best accomplished using
240 <ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'><filename>devtool</filename></ulink>
241 and not through traditional kernel workflow methods.
242 This section provides procedures to set up for both.
243 </para>
244
245 <section id='getting-ready-to-develop-using-devtool'>
246 <title>Getting Ready to Develop using <filename>devtool</filename></title>
247
248 <para role='writernotes'>
249 Need the updated wiki stuff here
250 </para>
251 </section>
252
253 <section id='getting-ready-for-traditional-kernel-development'>
254 <title>Getting Ready for Traditional Kernel Development</title>
255
256 <para>
257 For traditional kernel development using the Yocto
258 Project, you need to establish local copies of the
259 kernel source.
260 You can find Git repositories of supported Yocto Project
261 kernels organized under "Yocto Linux Kernel" in the Yocto
262 Project Source Repositories at
263 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
264 </para>
265
266 <para>
267 This setup can involve creating a bare clone of the
268 Yocto Project kernel and then copying that cloned
269 repository.
270 You can create the bare clone and the copy of the bare
271 clone anywhere you like.
272 For simplicity, it is recommended that you create these
273 structures outside of the
274 <ulink url='&YOCTO_DOCS_REF_URL;source-directory'>Source Directory</ulink>,
275 which is usually named <filename>poky</filename>.
276 </para>
277
278 <para>
279 The following steps show how to create a bare clone of the
280 <filename>linux-yocto-4.4</filename> kernel and then
281 create a copy of that clone:
282 <note>
283 When you have a local Yocto Project kernel Git
284 repository, you can reference that repository rather than
285 the upstream Git repository as part of the
286 <filename>clone</filename> command.
287 Doing so can speed up the process.
288 </note>
289 <orderedlist>
290 <listitem><para>
291 <emphasis>Create the Bare Clone:</emphasis>
292 In the following example, the bare clone is named
293 <filename>linux-yocto-4.4.git</filename>:
294 <literallayout class='monospaced'>
295 $ git clone &dash;&dash;bare git://git.yoctoproject.org/linux-yocto-4.4 linux-yocto-4.4.git
296 Cloning into bare repository 'linux-yocto-4.4.git'...
297 remote: Counting objects: 4543903, done.
298 remote: Compressing objects: 100% (695618/695618), done.
299 remote: Total 4543903 (delta 3818435), reused 4541724 (delta 3816256)
300 Receiving objects: 100% (4543903/4543903), 801.08 MiB | 6.55 MiB/s, done.
301 Resolving deltas: 100% (3818435/3818435), done.
302 Checking connectivity... done.
303 </literallayout>
304 </para></listitem>
305 <listitem><para>
306 <emphasis>Create the Copy of the Bare Clone:</emphasis>
307 In the following command, the copy of the bare clone
308 is named <filename>my-linux-yocto-4.4-work</filename>:
309 <literallayout class='monospaced'>
310 $ git clone linux-yocto-4.4.git my-linux-yocto-4.4-work
311 Cloning into 'my-linux-yocto-4.4-work'...
312 done.
313 Checking out files: 100% (52221/52221), done.
314 </literallayout>
315 </para></listitem>
316 <listitem><para>
317 <emphasis>Cloning the <filename>meta-yocto-kernel-extras</filename> Repository:</emphasis>
318 The <filename>meta-yocto-kernel-extras</filename> Git
319 repository contains Metadata needed only if you are
320 modifying and building the kernel image.
321 In particular, it contains the kernel BitBake append
322 (<filename>.bbappend</filename>) files that you edit to
323 point to your locally modified kernel source files and to
324 build the kernel image.
325 Pointing to these local files is much more efficient than
326 requiring a download of the kernel's source files from
327 upstream each time you make changes to the kernel.</para>
328
329 <para>You can find the
330 <filename>meta-yocto-kernel-extras</filename> Git
331 Repository in the "Yocto Metadata Layers" area of the
332 Yocto Project Source Repositories at
333 <ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
334 It is good practice to create this Git repository
335 inside the Source Directory.</para>
336
337 <para>Following is an example that creates the
338 <filename>meta-yocto-kernel-extras</filename> Git
339 repository inside the Source Directory, which is named
340 <filename>poky</filename>, in this case:
341 <literallayout class='monospaced'>
342 $ cd ~/poky
343 $ git clone git://git.yoctoproject.org/meta-yocto-kernel-extras meta-yocto-kernel-extras
344 Cloning into 'meta-yocto-kernel-extras'...
345 remote: Counting objects: 727, done.
346 remote: Compressing objects: 100% (452/452), done.
347 remote: Total 727 (delta 260), reused 719 (delta 252)
348 Receiving objects: 100% (727/727), 536.36 KiB | 0 bytes/s, done.
349 Resolving deltas: 100% (260/260), done.
350 Checking connectivity... done.
351 </literallayout>
352 </para></listitem>
353 </orderedlist>
354 </para>
355 </section>
356 </section>
357</section> 236</section>
358 237
359<section id='working-with-yocto-project-source-files'> 238<section id='working-with-yocto-project-source-files'>