From a64831cad79e46c50509aad89f6fefad71123b60 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Fri, 18 Aug 2017 15:12:33 -0700 Subject: 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 Signed-off-by: Richard Purdie --- documentation/kernel-dev/kernel-dev-intro.xml | 124 ++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) (limited to 'documentation/kernel-dev/kernel-dev-intro.xml') diff --git a/documentation/kernel-dev/kernel-dev-intro.xml b/documentation/kernel-dev/kernel-dev-intro.xml index 899ed65db2..9080ddc1b8 100644 --- a/documentation/kernel-dev/kernel-dev-intro.xml +++ b/documentation/kernel-dev/kernel-dev-intro.xml @@ -90,6 +90,130 @@ +
+ Preparing the Build Host to Work on the Kernel + + + Kernel development is best accomplished using + devtool + and not through traditional kernel workflow methods. + This section provides information for both scenarios. + + +
+ Getting Ready to Develop using <filename>devtool</filename> + + + Need the updated wiki stuff here + +
+ +
+ Getting Ready for Traditional Kernel Development + + + For traditional kernel development using the Yocto + Project, you need to establish local copies of the + kernel source. + You can find Git repositories of supported Yocto Project + kernels organized under "Yocto Linux Kernel" in the Yocto + Project Source Repositories at + . + + + + This setup can involve creating a bare clone of the + Yocto Project kernel and then copying that cloned + repository. + You can create the bare clone and the copy of the bare + clone anywhere you like. + For simplicity, it is recommended that you create these + structures outside of the + Source Directory, + which is usually named poky. + + + + The following steps show how to create a bare clone of the + linux-yocto-4.4 kernel and then + create a copy of that clone: + + When you have a local Yocto Project kernel Git + repository, you can reference that repository rather than + the upstream Git repository as part of the + clone command. + Doing so can speed up the process. + + + + Create the Bare Clone: + In the following example, the bare clone is named + linux-yocto-4.4.git: + + $ git clone ‐‐bare git://git.yoctoproject.org/linux-yocto-4.4 linux-yocto-4.4.git + Cloning into bare repository 'linux-yocto-4.4.git'... + remote: Counting objects: 4543903, done. + remote: Compressing objects: 100% (695618/695618), done. + remote: Total 4543903 (delta 3818435), reused 4541724 (delta 3816256) + Receiving objects: 100% (4543903/4543903), 801.08 MiB | 6.55 MiB/s, done. + Resolving deltas: 100% (3818435/3818435), done. + Checking connectivity... done. + + + + Create the Copy of the Bare Clone: + In the following command, the copy of the bare clone + is named my-linux-yocto-4.4-work: + + $ git clone linux-yocto-4.4.git my-linux-yocto-4.4-work + Cloning into 'my-linux-yocto-4.4-work'... + done. + Checking out files: 100% (52221/52221), done. + + + + Cloning the meta-yocto-kernel-extras Repository: + The meta-yocto-kernel-extras Git + repository contains Metadata needed only if you are + modifying and building the kernel image. + In particular, it contains the kernel BitBake append + (.bbappend) files that you edit to + point to your locally modified kernel source files and + to build the kernel image. + Pointing to these local files is much more efficient + than requiring a download of the kernel's source files + from upstream each time you make changes to the kernel. + + + You can find the + meta-yocto-kernel-extras Git + Repository in the "Yocto Metadata Layers" area of the + Yocto Project Source Repositories at + . + It is good practice to create this Git repository + inside the Source Directory. + + Following is an example that creates the + meta-yocto-kernel-extras Git + repository inside the Source Directory, which is named + poky, in this case: + + $ cd ~/poky + $ git clone git://git.yoctoproject.org/meta-yocto-kernel-extras meta-yocto-kernel-extras + Cloning into 'meta-yocto-kernel-extras'... + remote: Counting objects: 727, done. + remote: Compressing objects: 100% (452/452), done. + remote: Total 727 (delta 260), reused 719 (delta 252) + Receiving objects: 100% (727/727), 536.36 KiB | 0 bytes/s, done. + Resolving deltas: 100% (260/260), done. + Checking connectivity... done. + + + + +
+
+
Kernel Modification Workflow -- cgit v1.2.3-54-g00ecf