2.6.35.10-74 compilation (and build) problems

Mr Dash Four mr.dash.four at googlemail.com
Wed Jan 5 23:36:40 UTC 2011


> Aha!!! I do see the cause of your problem!!
>
> From YOUR email below, you say:
>
> cd ~/rpmbuild/BUILD/kernel-2.6.35.fc13/linux-2.6.25.x86_64
>
> So, why are you dickering with linux-2.6.25.x86_64  ???
>
> I thought you wanted to build 2.6.35.10-74 !!!
Sorry, it was a typo - it should read "linux-2.6.35.x86_64". Everything 
else is the same as I wrote previously (I think ;-) )

>> cd ~/rpmbuild/BUILD/kernel-2.6.35.fc13/linux-2.6.25.x86_64
>> cp ~/kernel/solar-34-options.config .config
>> make oldconfig
>> make menuconfig (I do NOT make any changes!!!)
>
> If you do not make any changes, why do it? It is completely unnecessary!
So the logic says and, in principle, I agree with you. As I pointed out 
earlier - I used to get errors when I do not run "make menuconfig" and 
then proceed with the next step. This was the case with .34, though I 
did not test this with .35 yet.

>> diff -NurBb ~/kernel/solar-34-options.config .config (this is to see 
>> what has been changed - I ONLY execute this during minor revisions, 
>> that's all)
>
> So, what do you do with the resulting diff?
I check for two things - 1) if any of the options I have previously 
saved (e.g. "solar-34-config") are not present; or 2) there are new 
options that were set in the 'new' kernel version than after building 
the kernel (and making sure it works as expected) I copy this new config 
as my new 'saved' config so that I could use it the next time. That 
basically is it.

>> vi .config (this is to add the magic "# x86_64" at the top)
> I don't understand why you need a commented line???
> What's the magic about it? A comment is ignored.
See the "Fedora Wiki" ( :-D ) for building the kernel - the target arch 
needs to be added as a comment on the first line of that .config file 
(that is particularly important if I do cross-compilation of the kernel 
- I add "# i386" for i686 targets for example). If that is not present 
all hell breaks loose!

>> cp .config ~/rpmbuild/SOURCES/config-x86_64-generic
>
> This will not guarantee that the config file will not be modified.
> I have done this numerous times, and I can tell you unequivocally,
> it will not keep all the options you want, nor will it exclude all the
> options you do NOT want.
> What it will give you is a beast that is niether what you want nor
> what you do not want.
> This is the wierdness of the .spec file operations and the Makefile
> script in ...SOURCES/Makefile.config
What would you advice me to do then?! I need to end up with 3 
kernel-*.rpm files plus one perf*.rpm, which I can distribute to all my 
machines. The above set of instructions is what "Fedora Wiki" ( :-D ) 
advices on building the kernel...

> The fedora release people have not provided us with a mechanism
> that will let us build a kernel EXACTLY as the config file we save in
> the SOURCES directory.
What do they actually change - after I build and install the kernel and 
then check the corresponding .config file in the /boot 
partition/directory it is the same as the one I have copied as 
config-x86_64-generic, so, naturally, I assume that nothing has been 
modified/changed. Is that not the case?


What also puzzles me in is that after running the oldconfig target not 
all options are transferred to the .config file? Do you think this is 
normal or a bug? Do I have to go through the motions and transfer each 
kernel value manually when I am dealing with major kernel revisions? 
This can't be right!



More information about the kernel mailing list