diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2017-08-18 15:12:33 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-02 00:52:48 +0100 |
| commit | a64831cad79e46c50509aad89f6fefad71123b60 (patch) | |
| tree | 4b8e92879e4a6444efd696f2caf9dd7bd92297d9 /documentation/dev-manual | |
| parent | 25aacfe1dadad0e762dccd1c1d061ea77c25a3a3 (diff) | |
| download | poky-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.xml | 127 |
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 ‐‐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'> |
