<?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>10470</bug_id>
          
          <creation_ts>2016-10-20 20:36:55 +0000</creation_ts>
          <short_desc>I would like to be able to set kernel CONFIGS from my local.conf file</short_desc>
          <delta_ts>2016-10-28 13:12:47 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Kernel</product>
          <component>kernel-configuration</component>
          <version>2.3</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Low</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.3</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="brian avery">brian.avery</reporter>
          <assigned_to name="Bruce Ashfield">bruce.ashfield</assigned_to>
          <cc>california.l.sullivan</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
    
    <cc>tim.orling</cc>
    
    <cc>yp.kernel.watcher</cc>
    
    <cc>yp.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>67433</commentid>
    <comment_count>0</comment_count>
    <who name="brian avery">brian.avery</who>
    <bug_when>2016-10-20 20:36:55 +0000</bug_when>
    <thetext>This is not aimed at production so much as a way to make iterative kernel development easier and less cumbersome.  If I want to turn on something like 

CONFIG_CGROUP_DEVICE=y  

it would be nice to be able to just append it to my local.conf with something like:

KERNEL_CONFIG_append += &quot;CONFIG_CGROUP_DEVICE=y &quot;

Having to make a layer, add a cfg file and bbappends for the kernel version seems to me to be too heavyweight for iterative development/experimentation.

---

I&apos;m not sure if 
KERNEL_CONFIG_append += &quot;# CONFIG_IRQ_POLL is not set &quot; 
or 
KERNEL_CONFIG_append += &quot;CONFIG_IRQ_POLL=n &quot; 

which would automagically convert to  
# CONFIG_IRQ_POLL is not set

is better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67435</commentid>
    <comment_count>1</comment_count>
    <who name="Bruce Ashfield">bruce.ashfield</who>
    <bug_when>2016-10-20 20:56:03 +0000</bug_when>
    <thetext>That makes the kernel configuration global, and breaks the encapsulation of the package/recipe.

Not to mention, there&apos;s no way to actually have version specific configs that way, and having someone with config values in their local.conf is going to cause all sorts of kernel version skew issues.

Environment variables for this reason also cause similar issues.

This is no different than not setting packageconfigs, or any other recipe/package specific variable from .conf files.

You can always do a _pn manipulation of the SRC_URI in your local.conf (I think), since that makes the variable specific to the kernel package / provider.

For interactive development, there&apos;s externalsrc, or simply menuconfig .. providing something like this via the .conf files is a bad idea in general.

I can accept this for now, but it is very unlikely to be implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67637</commentid>
    <comment_count>2</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2016-10-27 14:35:10 +0000</bug_when>
    <thetext>Firstly, you don&apos;t need another layer, you can do this kind of thing from your build directory if I remember correctly (create a bbappend). Secondly, to Bruce&apos;s point, you could use recipe specific overrides in local.conf to make the changes only apply to a specific recipe.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67638</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Orling">tim.orling</who>
    <bug_when>2016-10-27 14:36:38 +0000</bug_when>
    <thetext>Perhaps we could add a helper in devtool instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67704</commentid>
    <comment_count>4</comment_count>
    <who name="brian avery">brian.avery</who>
    <bug_when>2016-10-28 01:56:19 +0000</bug_when>
    <thetext>So, 
1) Bruce that makes sense and I understand why my wish is wrong.
2) Turns out you can put this in local.conf and it works easily:
------
-- in local.conf --
FILESEXTRAPATHS_prepend_pn-linux-yocto := &quot;/home/cow:&quot;
SRC_URI_append_pn-linux-yocto = &quot; file://myKernelConfigs.cfg &quot;
--  file myKernelConfigs.cfg located in /home/cow --
# Support for virtual ethernet and LXC
CONFIG_VETH=y
CONFIG_MACVLAN=y
# or whatever you want
-------------

So, I&apos;&apos;ll go ahead and close this as invalid (correct ?)  and will write a very short tips and tricks for how to do the above and the bbappend way tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>67722</commentid>
    <comment_count>5</comment_count>
    <who name="Bruce Ashfield">bruce.ashfield</who>
    <bug_when>2016-10-28 13:12:47 +0000</bug_when>
    <thetext>(In reply to comment #4)
&gt; So, 
&gt; 1) Bruce that makes sense and I understand why my wish is wrong.
&gt; 2) Turns out you can put this in local.conf and it works easily:
&gt; ------
&gt; -- in local.conf --
&gt; FILESEXTRAPATHS_prepend_pn-linux-yocto := &quot;/home/cow:&quot;
&gt; SRC_URI_append_pn-linux-yocto = &quot; file://myKernelConfigs.cfg &quot;
&gt; --  file myKernelConfigs.cfg located in /home/cow --
&gt; # Support for virtual ethernet and LXC
&gt; CONFIG_VETH=y
&gt; CONFIG_MACVLAN=y
&gt; # or whatever you want
&gt; -------------
&gt; 
&gt; So, I&apos;&apos;ll go ahead and close this as invalid (correct ?)  and will write a
&gt; very short tips and tricks for how to do the above and the bbappend way
&gt; tomorrow.

That would be ideal. Making sure this is documented in a (relatively) easy to find place helps everyone.

In particular since I&apos;ll move the fragment support to be widely available in the 2.3 timeframe, whatever you document will be valid for any kernel type.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>