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:
Alexander Kanavin 2022-08-02 10:38:02 +02:00 committed by Richard Purdie
parent f7763317f8
commit ea613c8f70
2 changed files with 16 additions and 76 deletions

View File

@ -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).

View File

@ -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.