| Summary: | Enhance descriptions for kernel tasks in the reference manual. | ||
|---|---|---|---|
| Product: | [Documentation] Reference | Reporter: | Scott Rifenbark <srifenbark> |
| Component: | handbook | Assignee: | Tom Zanussi <tom.zanussi> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Medium | CC: | bluelightning, kristi, poky.doc.watcher, poky.watcher, Santoshkumar.Laxminarayanrai, sgw, srifenbark |
| Version: | 2.2 | ||
| Target Milestone: | Future | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | 23 March 2018: RESOLVED | ||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Done (doc changes complete) | |
|
Description
Scott Rifenbark
2016-04-01 18:08:01 UTC
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 |