<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>9376</bug_id>
          
          <creation_ts>2016-04-01 18:08:01 +0000</creation_ts>
          <short_desc>Enhance descriptions for kernel tasks in the reference manual.</short_desc>
          <delta_ts>2018-03-23 12:11:16 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>9</classification_id>
          <classification>Documentation</classification>
          <product>Reference</product>
          <component>handbook</component>
          <version>2.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>23 March 2018: RESOLVED</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>Future</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Scott Rifenbark">srifenbark</reporter>
          <assigned_to name="Tom Zanussi">tom.zanussi</assigned_to>
          <cc>bluelightning</cc>
    
    <cc>kristi</cc>
    
    <cc>poky.doc.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>Santoshkumar.Laxminarayanrai</cc>
    
    <cc>sgw</cc>
    
    <cc>srifenbark</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Done (doc changes complete)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>60703</commentid>
    <comment_count>0</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-04-01 18:08:01 +0000</bug_when>
    <thetext>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</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>63366</commentid>
    <comment_count>1</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-06-27 18:36:08 +0000</bug_when>
    <thetext>Set this to future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>64749</commentid>
    <comment_count>2</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2016-08-01 19:14:48 +0000</bug_when>
    <thetext>Setting to NEEDINFO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>66015</commentid>
    <comment_count>3</comment_count>
    <who name="Tom Zanussi">tom.zanussi</who>
    <bug_when>2016-09-09 19:46:31 +0000</bug_when>
    <thetext>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&apos;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&apos;t and AUTOREV isn&apos;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 (&apos;make modules&apos;).  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&apos;t exist, are too low-level, or aren&apos;t kernel-related</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>70515</commentid>
    <comment_count>4</comment_count>
    <who name="Scott Rifenbark">srifenbark</who>
    <bug_when>2017-02-07 22:34:03 +0000</bug_when>
    <thetext>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 &apos;git grep&apos; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79969</commentid>
    <comment_count>5</comment_count>
    <who name="Kristi">kristi</who>
    <bug_when>2018-03-23 12:11:16 +0000</bug_when>
    <thetext>Too much time has passed without review on this one - setting to RESOLVED. Thank you</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>