diff options
Diffstat (limited to 'documentation/kernel-dev/common.rst')
-rw-r--r-- | documentation/kernel-dev/common.rst | 84 |
1 files changed, 12 insertions, 72 deletions
diff --git a/documentation/kernel-dev/common.rst b/documentation/kernel-dev/common.rst index dc3345a520..16ef6453bd 100644 --- a/documentation/kernel-dev/common.rst +++ b/documentation/kernel-dev/common.rst | |||
@@ -52,8 +52,8 @@ image and ready to make modifications as described in the | |||
52 | ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" | 52 | ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" |
53 | section: | 53 | section: |
54 | 54 | ||
55 | 1. *Initialize the BitBake Environment:* Before building an extensible | 55 | 1. *Initialize the BitBake Environment:* |
56 | SDK, you need to initialize the BitBake build environment by sourcing | 56 | you need to initialize the BitBake build environment by sourcing |
57 | the build environment script (i.e. :ref:`structure-core-script`):: | 57 | the build environment script (i.e. :ref:`structure-core-script`):: |
58 | 58 | ||
59 | $ cd poky | 59 | $ cd poky |
@@ -120,67 +120,10 @@ section: | |||
120 | NOTE: Starting bitbake server... | 120 | NOTE: Starting bitbake server... |
121 | $ | 121 | $ |
122 | 122 | ||
123 | 5. *Build the Extensible SDK:* Use BitBake to build the extensible SDK | 123 | 5. *Build the Clean Image:* The final step in preparing to work on the |
124 | specifically for use with images to be run using QEMU:: | 124 | kernel is to build an initial image using ``bitbake``:: |
125 | 125 | ||
126 | $ cd poky/build | 126 | $ bitbake core-image-minimal |
127 | $ bitbake core-image-minimal -c populate_sdk_ext | ||
128 | |||
129 | Once | ||
130 | the build finishes, you can find the SDK installer file (i.e. | ||
131 | ``*.sh`` file) in the following directory:: | ||
132 | |||
133 | poky/build/tmp/deploy/sdk | ||
134 | |||
135 | For this example, the installer file is named | ||
136 | ``poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh``. | ||
137 | |||
138 | 6. *Install the Extensible SDK:* Use the following command to install | ||
139 | the SDK. For this example, install the SDK in the default | ||
140 | ``poky_sdk`` directory:: | ||
141 | |||
142 | $ cd poky/build/tmp/deploy/sdk | ||
143 | $ ./poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh | ||
144 | Poky (Yocto Project Reference Distro) Extensible SDK installer version &DISTRO; | ||
145 | ============================================================================ | ||
146 | Enter target directory for SDK (default: poky_sdk): | ||
147 | You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y | ||
148 | Extracting SDK......................................done | ||
149 | Setting it up... | ||
150 | Extracting buildtools... | ||
151 | Preparing build system... | ||
152 | Parsing recipes: 100% |#################################################################| Time: 0:00:52 | ||
153 | Initializing tasks: 100% |############## ###############################################| Time: 0:00:04 | ||
154 | Checking sstate mirror object availability: 100% |######################################| Time: 0:00:00 | ||
155 | Parsing recipes: 100% |#################################################################| Time: 0:00:33 | ||
156 | Initializing tasks: 100% |##############################################################| Time: 0:00:00 | ||
157 | done | ||
158 | SDK has been successfully set up and is ready to be used. | ||
159 | Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. | ||
160 | $ . /home/scottrif/poky_sdk/environment-setup-i586-poky-linux | ||
161 | |||
162 | |||
163 | 7. *Set Up a New Terminal to Work With the Extensible SDK:* You must set | ||
164 | up a new terminal to work with the SDK. You cannot use the same | ||
165 | BitBake shell used to build the installer. | ||
166 | |||
167 | After opening a new shell, run the SDK environment setup script as | ||
168 | directed by the output from installing the SDK:: | ||
169 | |||
170 | $ source poky_sdk/environment-setup-i586-poky-linux | ||
171 | "SDK environment now set up; additionally you may now run devtool to perform development tasks. | ||
172 | Run devtool --help for further details. | ||
173 | |||
174 | .. note:: | ||
175 | |||
176 | If you get a warning about attempting to use the extensible SDK in | ||
177 | an environment set up to run BitBake, you did not use a new shell. | ||
178 | |||
179 | 8. *Build the Clean Image:* The final step in preparing to work on the | ||
180 | kernel is to build an initial image using ``devtool`` in the new | ||
181 | terminal you just set up and initialized for SDK work:: | ||
182 | |||
183 | $ devtool build-image | ||
184 | Parsing recipes: 100% |##########################################| Time: 0:00:05 | 127 | Parsing recipes: 100% |##########################################| Time: 0:00:05 |
185 | Parsing of 830 .bb files complete (0 cached, 830 parsed). 1299 targets, 47 skipped, 0 masked, 0 errors. | 128 | Parsing of 830 .bb files complete (0 cached, 830 parsed). 1299 targets, 47 skipped, 0 masked, 0 errors. |
186 | WARNING: No packages to add, building image core-image-minimal unmodified | 129 | WARNING: No packages to add, building image core-image-minimal unmodified |
@@ -192,7 +135,6 @@ section: | |||
192 | NOTE: Executing SetScene Tasks | 135 | NOTE: Executing SetScene Tasks |
193 | NOTE: Executing RunQueue Tasks | 136 | NOTE: Executing RunQueue Tasks |
194 | NOTE: Tasks Summary: Attempted 2866 tasks of which 2604 didn't need to be rerun and all succeeded. | 137 | NOTE: Tasks Summary: Attempted 2866 tasks of which 2604 didn't need to be rerun and all succeeded. |
195 | NOTE: Successfully built core-image-minimal. You can find output files in /home/scottrif/poky_sdk/tmp/deploy/images/qemux86 | ||
196 | 138 | ||
197 | If you were | 139 | If you were |
198 | building for actual hardware and not for emulation, you could flash | 140 | building for actual hardware and not for emulation, you could flash |
@@ -202,7 +144,7 @@ section: | |||
202 | Wiki page. | 144 | Wiki page. |
203 | 145 | ||
204 | At this point you have set up to start making modifications to the | 146 | At this point you have set up to start making modifications to the |
205 | kernel by using the extensible SDK. For a continued example, see the | 147 | kernel. For a continued example, see the |
206 | ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" | 148 | ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" |
207 | section. | 149 | section. |
208 | 150 | ||
@@ -744,7 +686,7 @@ Using ``devtool`` to Patch the Kernel | |||
744 | ===================================== | 686 | ===================================== |
745 | 687 | ||
746 | The steps in this procedure show you how you can patch the kernel using | 688 | The steps in this procedure show you how you can patch the kernel using |
747 | the extensible SDK and ``devtool``. | 689 | ``devtool``. |
748 | 690 | ||
749 | .. note:: | 691 | .. note:: |
750 | 692 | ||
@@ -766,8 +708,7 @@ console. The example is a continuation of the setup procedure found in | |||
766 | the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Section. | 708 | the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Section. |
767 | 709 | ||
768 | 1. *Check Out the Kernel Source Files:* First you must use ``devtool`` | 710 | 1. *Check Out the Kernel Source Files:* First you must use ``devtool`` |
769 | to checkout the kernel source code in its workspace. Be sure you are | 711 | to checkout the kernel source code in its workspace. |
770 | in the terminal set up to do work with the extensible SDK. | ||
771 | 712 | ||
772 | .. note:: | 713 | .. note:: |
773 | 714 | ||
@@ -867,7 +808,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se | |||
867 | the results of your ``printk`` statements as part of the output | 808 | the results of your ``printk`` statements as part of the output |
868 | when you scroll down the console window. | 809 | when you scroll down the console window. |
869 | 810 | ||
870 | 6. *Stage and commit your changes*: Within your eSDK terminal, change | 811 | 6. *Stage and commit your changes*: Change |
871 | your working directory to where you modified the ``calibrate.c`` file | 812 | your working directory to where you modified the ``calibrate.c`` file |
872 | and use these Git commands to stage and commit your changes:: | 813 | and use these Git commands to stage and commit your changes:: |
873 | 814 | ||
@@ -878,8 +819,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se | |||
878 | 819 | ||
879 | 7. *Export the Patches and Create an Append File:* To export your | 820 | 7. *Export the Patches and Create an Append File:* To export your |
880 | commits as patches and create a ``.bbappend`` file, use the following | 821 | commits as patches and create a ``.bbappend`` file, use the following |
881 | command in the terminal used to work with the extensible SDK. This | 822 | command. This example uses the previously established layer named ``meta-mylayer``. |
882 | example uses the previously established layer named ``meta-mylayer``. | ||
883 | :: | 823 | :: |
884 | 824 | ||
885 | $ devtool finish linux-yocto ~/meta-mylayer | 825 | $ devtool finish linux-yocto ~/meta-mylayer |
@@ -907,8 +847,8 @@ Using Traditional Kernel Development to Patch the Kernel | |||
907 | ======================================================== | 847 | ======================================================== |
908 | 848 | ||
909 | The steps in this procedure show you how you can patch the kernel using | 849 | The steps in this procedure show you how you can patch the kernel using |
910 | traditional kernel development (i.e. not using ``devtool`` and the | 850 | traditional kernel development (i.e. not using ``devtool`` |
911 | extensible SDK as described in the | 851 | as described in the |
912 | ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" | 852 | ":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`" |
913 | section). | 853 | section). |
914 | 854 | ||