do_compile_kernelmodules
- Compiles loadable modules for the Linux kernel.
+ Runs the step that builds the kernel modules (if needed).
+ Building a kernel consists of two steps: 1) the kernel
+ (vmlinux) is built, and 2) the modules
+ are built (i.e. make modules).
@@ -861,9 +864,21 @@
do_diffconfig
- Compares the old and new config files after running the
- do_menuconfig
- task for the kernel.
+ When invoked by the user, this task creates a file containing the
+ differences between the original config as produced by
+ do_kernel_configme
+ task and the changes made by the user with other methods
+ (i.e. using
+ (do_kernel_menuconfig).
+ Once the file of differences is created, it can be used to create
+ a config fragment that only contains the differences.
+ You can invoke this task from the command line as follows:
+
+ $ bitbake linux-yocto -c diffconfig
+
+ For more information, see the
+ "Generating Configuration Files"
+ section in the Yocto Project Linux Kernel Development Manual.
@@ -871,7 +886,12 @@
do_kernel_checkout
- Checks out source/meta branches for a linux-yocto style kernel.
+ Converts the newly unpacked kernel source into a form with which
+ the OpenEmbedded build system can work.
+ Because the kernel source can be fetched in several different ways,
+ the do_kernel_checkout task makes sure that
+ subsequent tasks are given a clean working tree copy of the kernel
+ with the correct branches checked out.
@@ -879,7 +899,21 @@
do_kernel_configcheck
- Validates the kernel configuration for a linux-yocto style kernel.
+ Validates the configuration produced by the
+ do_kernel_menuconfig
+ task.
+ The do_kernel_configcheck task produces
+ warnings when a requested configuration does not appear in the
+ final .config file or when you override a
+ policy configuration in a hardware configuration fragment.
+ You can run this task explicitly and view the output by using
+ the following command:
+
+ $ bitbake linux-yocto -c kernel_configcheck -f
+
+ For more information, see the
+ "Generating Configuration Files"
+ section in the Yocto Project Linux Kernel Development Manual.
@@ -887,17 +921,41 @@
do_kernel_configme
- Assembles the kernel configuration for a linux-yocto style kernel.
+ After the kernel is patched by the
+ do_patch
+ task, the do_kernel_configme task assembles
+ and merges all the kernel config fragments into a merged
+ configuration that can then be passed to the kernel configuration
+ phase proper.
+ This is also the time during which user-specified defconfigs
+ are applied if present, and where configuration modes such as
+ --allnoconfig are applied.
-
- do_kernel_link_vmlinux
+
+ do_kernel_menuconfig
- Creates a symbolic link in
- arch/$arch/boot for vmlinux kernel
- images.
+ Invoked by the user to manipulate the
+ .config file used to build a linux-yocto
+ recipe.
+ This task starts the Linux kernel configuration tool, which you
+ then use to modify the kernel configuration.
+
+ You can also invoke this tool from the command line as
+ follows:
+
+ $ bitbake linux-yocto -c menuconfig
+
+
+ See the
+ "Generating Configuration Files"
+ section in the Yocto Project Linux Kernel Development Manual
+ for more information on this configuration tool.
+ You can also reference the
+ "Using menuconfig"
+ section in the Yocto Project Development Manual.
@@ -905,8 +963,16 @@
do_kernel_metadata
- Collects kernel metadata for a
- linux-yocto style kernel.
+ Collects all the features required for a given kernel build,
+ whether the features come from
+ SRC_URI
+ or from Git repositories.
+ After collection, the do_kernel_metadata task
+ processes the features into a series of config fragments and
+ patches, which can then be applied by subsequent tasks such as
+ do_patch
+ and
+ do_kernel_configme.
@@ -925,7 +991,17 @@
do_savedefconfig
- Creates a minimal Linux kernel configuration file.
+ When invoked by the user, creates a defconfig file that can be
+ used instead of the default defconfig.
+ The saved defconfig contains the differences between the default
+ defconfig and the changes made by the user using other methods
+ (i.e. the
+ do_kernel_menuconfig
+ task.
+ You can invoke the task using the following command:
+
+ $ bitbake linux-yocto -c savedefconfig
+
@@ -933,7 +1009,14 @@
do_shared_workdir
- Creates the shared working directory for the kernel.
+ After the kernel has been compiled but before the kernel modules
+ have been compiled, this task copies files required for module
+ builds and which are generated from the kernel build into the
+ shared work directory.
+ With these copies successfully copied, the
+ do_compile_kernelmodules
+ task can successfully build the kernel modules in the next step
+ of the build.
@@ -941,9 +1024,12 @@
do_sizecheck
- Checks the size of the kernel image against
- KERNEL_IMAGE_MAXSIZE
- when set.
+ After the kernel has been built, this task checks the size of the
+ stripped kernel image against
+ KERNEL_IMAGE_MAXSIZE.
+ If that variable was set and the size of the stripped kernel
+ exceeds that size, the kernel build produces a warning to that
+ effect.
@@ -951,15 +1037,13 @@
do_strip
- Strips unneeded sections out of the Linux kernel image.
-
-
-
-
- do_uboot_mkimage
-
-
- Creates a uImage file from the kernel for the U-Boot bootloader.
+ If
+ KERNEL_IMAGE_STRIP_EXTRA_SECTIONS is defined,
+ this task strips the sections named in that variable from
+ vmlinux.
+ This stripping is typically used to remove nonessential sections
+ such as .comment sections from a
+ size-sensitive configuration.
@@ -967,10 +1051,14 @@
do_validate_branches
- Ensures that the source, metadata (or both) branches are on the
- locations specified by their
- SRCREV
- values for a linux-yocto style kernel.
+ After the kernel is unpacked but before it is patched, this task
+ makes sure that the machine and metadata branches as specified
+ by the SRCREV
+ variables actually exist on the specified branches.
+ If these branches do not exist and
+ AUTOREV
+ is not being used, the do_validate_branches
+ task fails during the build.