In general, these task descriptions are thin. They should be augmented as time permits. I am setting this bug up as an enhancement for future. Filing this bug allows me to set the Bug 7753 to RESOLVED. Scott
Set this to future.
Setting to NEEDINFO.
With reference to http://www.yoctoproject.org/docs/2.1/ref-manual/ref-manual.html#kernel-related-tasks Best to keep this ordering as it follows what happens in the build process: do_validate_branches() After the kernel is unpacked but before it's patched, do_validate_branches() makes sure that the SRCREVs specified for the machine and meta branches actually exist on the specified branches. If they don't and AUTOREV isn't being used, do_validate_branches() task will fail the build. do_kernel_checkout() do_kernel_checkout() converts the newly unpacked kernel source into a form that the build system can work with. The kernel source can be fetched in several different ways; do_kernel_checkout() makes sure that subsequent tasks are given a clean working tree copy of the kernel with the correct branches checked out. do_kernel_metadata() do_kernel_metdata() is responsible for collecting all the features required for a given kernel build, whether they come from the SRC_URI or from git repos, and processing them into series of config fragments and patches which can then be applied by subsequent tasks such as do_patch() and do_kernel_configme(). do_kernel_configme() After the kernel is patched by do_patch(), do_kernel_configme() 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 where user-specified defconfigs are applied if present, or where configuration modes such as --allnoconfig are applied. do_kernel_menuconfig() This is a task that is invoked by the user to manipulate the .config file used to build a linux-yocto recipe. This command starts the Linux kernel configuration tool, which the user then uses to modify the kernel configuration. It can be invoked as follows: $ bitbake linux-yocto -c menuconfig See the kernel development manual for more background and details. do_diffconfig() This is a task that is invoked by the user to create a file containing the difference between the original config as produced by do_kernel_configme() and the changes made by the user via say do_kernel_menuconfig(). This file can then be used to create a config fragment containing only the differences. It can be invoked as follows: $ bitbake linux-yocto -c diffconfig See the kernel development manual for more background and details. do_kernel_configcheck() This task provides validates the configuration produced by do_kernel_configcheck(). It 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. It can be run expliclitly and the output viewed by running the following command: $ bitbake linux-yocto -c kernel_configcheck -f See the kernel development manual for more background and details. do_savedefconfig() This is a task that is invoked by the user to create a defconfig file that can be used instead of the default defconfig. It contains the difference between the default defconfig and the changes made by the user via say do_kernel_menuconfig(). It can be invoked as follows: $ bitbake linux-yocto -c savedefconfig do_shared_workdir() After the kernel has been compiled but before the kernel modules have been compiled, do_shared_workdir() copies files required for module builds and generated from the kernel build into the shared work directory, so that do_compile_kernel_modules() can successfully build the kernel modules in the next step do_compile_kernelmodules() Kernel builds are done in two steps; first the kernel (vmlinux) is built, then the modules are built ('make modules'). do_compile_kernelmodules() simply runs that second step, if there are modules to be built. do_strip() If KERNEL_IMAGE_STRIP_EXTRA_SECTIONS is defined, this task will strip the sections named in that variable from vmlinux. This is typically used to strip nonessential sections such as .comment sections from a size-sensitive configuration. do_sizecheck() 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 will produce a warning to that effect. Remove: do_kernel_link_vmlinux do_uboot_mkimage as they either don't exist, are too low-level, or aren't kernel-related
Tom, See the following for review. I did some rewriting so you need to check for accuracy: do_validate_branches() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-validate_branches do_kernel_checkout() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-kernel_checkout do_kernel_metadata() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-kernel_metadata do_kernel_configme() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-kernel_configme do_kernel_menuconfig() - This task is not in the manual. There is a task called do_menuconfig() that is located among the other kernel-related tasks. Is do_kernel_menuconfig() a new task we need to document? I did a 'git grep' for it in the poky directory and it came up empty. For now, I put the task into the list here in case it is a new task (http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-kernel_menuconfig). I can remove it if needed. I suspect it is supposed to be do_menuconfig(). do_diffconfig() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-diffconfig do_kernel_configcheck() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-kernel_configcheck do_savedefconfig() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-savedefconfig do_shared_workdir() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-shared_workdir do_compile_kernelmodules() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-compile_kernelmodules do_strip() - http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#ref-tasks-strip. Note that the variable KERNEL_IMAGE_STRIP_EXTRA_SECTIONS is undocumented in the ref-manual. do_kernel_link_vmlinux and do_uboot_mkimage both removed from the manual.
Too much time has passed without review on this one - setting to RESOLVED. Thank you