What are .config parameters for my kernel?

Rick Stevens ricks at nerd.com
Thu Oct 29 22:17:17 UTC 2009


Jonathan Ryshpan wrote:
> On Thu, 2009-10-29 at 12:14 -0700, Rick Stevens wrote:
>> Jonathan Ryshpan wrote:
>>> I had thought that they would come from the .config file from either the
>>> kernel-source.rpm or the kernel-devel.rpm for my current kernel.  But
>>> these two files are different.CER=y
> 
>> The config parameters for kernels installed by RPM packages are in
>> /boot.  Look for "config-(kernelversion)" files.  For example, to
>> see if my current kernel was compiled with PREEMPT:
>>
>> 	[root at bigdog ~]# grep PREEMPT /boot/config-`uname -r`
>> 	# CONFIG_PREEMPT_RCU is not set
>> 	# CONFIG_PREEMPT_RCU_TRACE is not set
>> 	CONFIG_PREEMPT_NOTIFIERS=y
>> 	# CONFIG_PREEMPT_NONE is not set
>> 	CONFIG_PREEMPT_VOLUNTARY=y
>> 	# CONFIG_PREEMPT is not set
>>
>> So, no, my kernel is not compiled with PREEMPT set.
> 
> Thanks.  
> 
> In fact the controlling config file is the one in kernel-devel.rpm,
> which matches the one in /boot.  In past releases, this has matched 
> the one in kernel-source.rpm, but apparently not in this release.
> 
> $ sum /usr/src/kernels/2.6.30.9-90.fc11.x86_64/.config \
>> ~/rpmbuild/BUILD/kernel-2.6.30/linux-2.6.30.x86_64/.config \
>> /boot/config-2.6.30.9-90.fc11.x86_64
> 22614    93 /usr/src/kernels/2.6.30.9-90.fc11.x86_64/.config
> 16416    94 /home/jonrysh/rpmbuild/BUILD/kernel-2.6.30/linux-2.6.30.x86_64/.config
> 22614    93 /boot/config-2.6.30.9-90.fc11.x86_64

The kernel binary RPM contains the /boot/config-(kernelversion) file
that was used to create the kernel.  The ".config" file from the install
of the kernel-devel package is the same since the data in the
kernel-devel RPM was built at the same time as the kernel in the binary
RPM.  Both of these are born out by your test results (first and third
lines of the results).

The kernel source RPM ("kernel-whatever.src.rpm" package) does not
contain a ".config" file.  You must create one by copying one of the
other "config-*" files in the RPM or via the "make menuconfig" or "make
xconfig" operations and saving the resulting configuration.  Again, your 
results show that as well since the block count of the one in the second
line of your results is bigger and its checksum is different.

When building kernels from scratch, I usually install the source RPM,
use "rpmbuild -bp --target=x86)64", then switch to the destination,
"make xconfig", import the /boot config file and tweak things from
there--unless I'm making a very different kernel than the distribution
version.  YMMV!
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer                      ricks at nerd.com -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-        Brain:  The organ with which we think that we think.        -
----------------------------------------------------------------------




More information about the users mailing list