mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
kernel-dev: working with kernel using devtool does not require building and installing eSDK
In fact, all the same tasks can be done directly from a Yocto build. Let's just drop the steps to produce and install the eSDK - if someone wants it, the SDK manual covers everything. (From yocto-docs rev: 582aa6a8e461bbd698b121403dcd25ddb563a464) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
f7763317f8
commit
ea613c8f70
|
@ -52,8 +52,8 @@ image and ready to make modifications as described in the
|
|||
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
|
||||
section:
|
||||
|
||||
1. *Initialize the BitBake Environment:* Before building an extensible
|
||||
SDK, you need to initialize the BitBake build environment by sourcing
|
||||
1. *Initialize the BitBake Environment:*
|
||||
you need to initialize the BitBake build environment by sourcing
|
||||
the build environment script (i.e. :ref:`structure-core-script`)::
|
||||
|
||||
$ cd poky
|
||||
|
@ -120,67 +120,10 @@ section:
|
|||
NOTE: Starting bitbake server...
|
||||
$
|
||||
|
||||
5. *Build the Extensible SDK:* Use BitBake to build the extensible SDK
|
||||
specifically for use with images to be run using QEMU::
|
||||
5. *Build the Clean Image:* The final step in preparing to work on the
|
||||
kernel is to build an initial image using ``bitbake``::
|
||||
|
||||
$ cd poky/build
|
||||
$ bitbake core-image-minimal -c populate_sdk_ext
|
||||
|
||||
Once
|
||||
the build finishes, you can find the SDK installer file (i.e.
|
||||
``*.sh`` file) in the following directory::
|
||||
|
||||
poky/build/tmp/deploy/sdk
|
||||
|
||||
For this example, the installer file is named
|
||||
``poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh``.
|
||||
|
||||
6. *Install the Extensible SDK:* Use the following command to install
|
||||
the SDK. For this example, install the SDK in the default
|
||||
``poky_sdk`` directory::
|
||||
|
||||
$ cd poky/build/tmp/deploy/sdk
|
||||
$ ./poky-glibc-x86_64-core-image-minimal-i586-toolchain-ext-&DISTRO;.sh
|
||||
Poky (Yocto Project Reference Distro) Extensible SDK installer version &DISTRO;
|
||||
============================================================================
|
||||
Enter target directory for SDK (default: poky_sdk):
|
||||
You are about to install the SDK to "/home/scottrif/poky_sdk". Proceed [Y/n]? Y
|
||||
Extracting SDK......................................done
|
||||
Setting it up...
|
||||
Extracting buildtools...
|
||||
Preparing build system...
|
||||
Parsing recipes: 100% |#################################################################| Time: 0:00:52
|
||||
Initializing tasks: 100% |############## ###############################################| Time: 0:00:04
|
||||
Checking sstate mirror object availability: 100% |######################################| Time: 0:00:00
|
||||
Parsing recipes: 100% |#################################################################| Time: 0:00:33
|
||||
Initializing tasks: 100% |##############################################################| Time: 0:00:00
|
||||
done
|
||||
SDK has been successfully set up and is ready to be used.
|
||||
Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g.
|
||||
$ . /home/scottrif/poky_sdk/environment-setup-i586-poky-linux
|
||||
|
||||
|
||||
7. *Set Up a New Terminal to Work With the Extensible SDK:* You must set
|
||||
up a new terminal to work with the SDK. You cannot use the same
|
||||
BitBake shell used to build the installer.
|
||||
|
||||
After opening a new shell, run the SDK environment setup script as
|
||||
directed by the output from installing the SDK::
|
||||
|
||||
$ source poky_sdk/environment-setup-i586-poky-linux
|
||||
"SDK environment now set up; additionally you may now run devtool to perform development tasks.
|
||||
Run devtool --help for further details.
|
||||
|
||||
.. note::
|
||||
|
||||
If you get a warning about attempting to use the extensible SDK in
|
||||
an environment set up to run BitBake, you did not use a new shell.
|
||||
|
||||
8. *Build the Clean Image:* The final step in preparing to work on the
|
||||
kernel is to build an initial image using ``devtool`` in the new
|
||||
terminal you just set up and initialized for SDK work::
|
||||
|
||||
$ devtool build-image
|
||||
$ bitbake core-image-minimal
|
||||
Parsing recipes: 100% |##########################################| Time: 0:00:05
|
||||
Parsing of 830 .bb files complete (0 cached, 830 parsed). 1299 targets, 47 skipped, 0 masked, 0 errors.
|
||||
WARNING: No packages to add, building image core-image-minimal unmodified
|
||||
|
@ -192,7 +135,6 @@ section:
|
|||
NOTE: Executing SetScene Tasks
|
||||
NOTE: Executing RunQueue Tasks
|
||||
NOTE: Tasks Summary: Attempted 2866 tasks of which 2604 didn't need to be rerun and all succeeded.
|
||||
NOTE: Successfully built core-image-minimal. You can find output files in /home/scottrif/poky_sdk/tmp/deploy/images/qemux86
|
||||
|
||||
If you were
|
||||
building for actual hardware and not for emulation, you could flash
|
||||
|
@ -202,7 +144,7 @@ section:
|
|||
Wiki page.
|
||||
|
||||
At this point you have set up to start making modifications to the
|
||||
kernel by using the extensible SDK. For a continued example, see the
|
||||
kernel. For a continued example, see the
|
||||
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
|
||||
section.
|
||||
|
||||
|
@ -744,7 +686,7 @@ Using ``devtool`` to Patch the Kernel
|
|||
=====================================
|
||||
|
||||
The steps in this procedure show you how you can patch the kernel using
|
||||
the extensible SDK and ``devtool``.
|
||||
``devtool``.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -766,8 +708,7 @@ console. The example is a continuation of the setup procedure found in
|
|||
the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Section.
|
||||
|
||||
1. *Check Out the Kernel Source Files:* First you must use ``devtool``
|
||||
to checkout the kernel source code in its workspace. Be sure you are
|
||||
in the terminal set up to do work with the extensible SDK.
|
||||
to checkout the kernel source code in its workspace.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -867,7 +808,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
|
|||
the results of your ``printk`` statements as part of the output
|
||||
when you scroll down the console window.
|
||||
|
||||
6. *Stage and commit your changes*: Within your eSDK terminal, change
|
||||
6. *Stage and commit your changes*: Change
|
||||
your working directory to where you modified the ``calibrate.c`` file
|
||||
and use these Git commands to stage and commit your changes::
|
||||
|
||||
|
@ -878,8 +819,7 @@ the ":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``" Se
|
|||
|
||||
7. *Export the Patches and Create an Append File:* To export your
|
||||
commits as patches and create a ``.bbappend`` file, use the following
|
||||
command in the terminal used to work with the extensible SDK. This
|
||||
example uses the previously established layer named ``meta-mylayer``.
|
||||
command. This example uses the previously established layer named ``meta-mylayer``.
|
||||
::
|
||||
|
||||
$ devtool finish linux-yocto ~/meta-mylayer
|
||||
|
@ -907,8 +847,8 @@ Using Traditional Kernel Development to Patch the Kernel
|
|||
========================================================
|
||||
|
||||
The steps in this procedure show you how you can patch the kernel using
|
||||
traditional kernel development (i.e. not using ``devtool`` and the
|
||||
extensible SDK as described in the
|
||||
traditional kernel development (i.e. not using ``devtool``
|
||||
as described in the
|
||||
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
|
||||
section).
|
||||
|
||||
|
|
|
@ -114,13 +114,13 @@ general information and references for further information.
|
|||
a build host ready to use the Yocto Project.
|
||||
|
||||
2. *Set Up Your Host Development System for Kernel Development:* It is
|
||||
recommended that you use ``devtool`` and an extensible SDK for kernel
|
||||
recommended that you use ``devtool`` for kernel
|
||||
development. Alternatively, you can use traditional kernel
|
||||
development methods with the Yocto Project. Either way, there are
|
||||
steps you need to take to get the development environment ready.
|
||||
|
||||
Using ``devtool`` and the eSDK requires that you have a clean build
|
||||
of the image and that you are set up with the appropriate eSDK. For
|
||||
Using ``devtool`` requires that you have a clean build
|
||||
of the image. For
|
||||
more information, see the
|
||||
":ref:`kernel-dev/common:getting ready to develop using \`\`devtool\`\``"
|
||||
section.
|
||||
|
@ -134,7 +134,7 @@ general information and references for further information.
|
|||
3. *Make Changes to the Kernel Source Code if applicable:* Modifying the
|
||||
kernel does not always mean directly changing source files. However,
|
||||
if you have to do this, you make the changes to the files in the
|
||||
eSDK's Build Directory if you are using ``devtool``. For more
|
||||
Yocto's Build Directory if you are using ``devtool``. For more
|
||||
information, see the
|
||||
":ref:`kernel-dev/common:using \`\`devtool\`\` to patch the kernel`"
|
||||
section.
|
||||
|
|
Loading…
Reference in New Issue
Block a user