# Changes between Kernels

## BrentNorin

So I've been using gentoo for almost four years, and this might be a weird question to ask after so much time. Pretty much I just copy the new .config over and run make menuconfig, and I visually inspect for changes. Is there an easier way to look for changes? I know I could diff.... but come on.

----------

## Nerevar

Copy over the config and run 'make oldconfig'. It will prompt you for new items.

----------

## Jaglover

http://www.gentoo.org/doc/en/kernel-upgrade.xml#doc_chap10

make oldconfig will result in borked kernel if something is moved in config tree.

----------

## d2_racing

Yep, I had that problem with kernel 2.6.31 to 2.6.32.

My wireless section was disabled at 100%.

----------

## BrentNorin

Which is why I never used make oldconfig. So again, aside from visually inspecting make menuconfig or diffing the configs, is there any other way to see the new differences?

----------

## Nerevar

So, is there no solution? Just start over from Linus' .config for every 2.6.XX kernel upgrade and hope you don't forget something? That seems more error prone than 'make oldconfig' to me.

----------

## d2_racing

I use make oldconfig and I double check only my hardware config, so that at least my box will still boot if the make oldconfig is brain dead.

----------

## b0nafide

I just used make oldconfig on two machines that haven't been updated since December. But that was only from 2.6.31-r6 to 2.6.31-r10. It seemed to work ok for that. 

In the future I will be more cautious.

----------

## Jaglover

 *Nerevar wrote:*   

> So, is there no solution? Just start over from Linus' .config for every 2.6.XX kernel upgrade and hope you don't forget something? That seems more error prone than 'make oldconfig' to me.

 

I open two terminals, one with old kernel menuconfig and the other for new one. I'll go thru all menus/submenus using old kernel window as reference. Cumbersome, you say? I keep telling myself: dude, kernel is the most important part of your box, it's worth some effort.   :Cool: 

----------

## Nerevar

 *Jaglover wrote:*   

> I open two terminals, one with old kernel menuconfig and the other for new one. I'll go thru all menus/submenus using old kernel window as reference. Cumbersome, you say? I keep telling myself: dude, kernel is the most important part of your box, it's worth some effort.  

 

 :Very Happy:  Wow, good for you! That would certainly be the safest way. I guess when I get burned by 'make oldconfig' I'll consider changing my evil ways. I'll be sure not to recommend it to anyone else w/o noting these caveats.

----------

## Jaglover

The real danger is not ending up with unbootable kernel. I'm sure one will notice and fix that. 

What if some minor feature is crippled, kernel boots OK, but something somewhere is not behaving as expected any more. Sooner or later you'll find there is a problem and start banging your head against the wall, reporting bugs, etc. 

Or, you won't find it at all. In this case there will be some cruft in your kernel you are not aware about. Not a big deal, can't sell it to a perfectionist though.   :Razz: 

----------

## papahuhn

I use the following practice for ages and never had problems:

```
extract new-kernel

cd new-kernel

make menuconfig -> save

cp ../old-kernel/.config .config

make menuconfig -> save

compile

```

There are warnings of unknown symbols, of course and if I recognize them I check them, but the rest is ignored.

Never ended up with an unbootable kernel by that.

----------

## Nerevar

If you copy over your old config and run 'make menuconfig' and save it, isn't that almost the same as running 'make oldconfig'? The only difference would be that you accept all the new feature defaults? So, say the default for USB 3.0 support is Y, then you would compile USB 3.0 support into your kernel.

----------

## papahuhn

Maybe so, I didn't check for new features.

----------

## Jaglover

1. extract new-kernel

2. cd new-kernel

3. make menuconfig -> save

4. cp ../old-kernel/.config .config

5. make menuconfig -> save

6. compile 

After step 4 there will be no trace of previous menuconfig, .config is overwritten. A big nonsense.

Imagine some guys in a garage discussing how tight must be an important screw. Then somebody comes and tells: I use hammer for screws, never had a problem.

----------

## papahuhn

What previous menuconfig? That's a newly extracted kernel.

----------

## BrentNorin

Well then. The best solution I've seen is to open two terminals and look for new menus.  :Smile:  Interesting that no one has made something to make this stupidly simple, and safe. Good thing major releases are only stabilized a handful of times per year.

----------

## gerard27

@Jaglover,

Thanks for the tip using 2 terminals to compare new and old.

I think that's the best and safest way to upgrade.

Gerard.

----------

