# New kernel -> things break

## jumpula

I am having a strange problem.

Both alsa and kdm break every time i try to boot kernel with a different version from my current kernel.

If i try the same .config with my current kernel's sources (2.6.10), everything works. Try another (say 2.6.13, with make oldconfig), it gets broken.

```
snd_intel8x0: Unknown symbol snd_ac97_pcm_open

...

kdm: :0[17138]: IO Error in XOpenDisplay
```

Alsa gives me a load of unknown symbol errors (no, I don't have the alsa-driver installed) and X is knocked dead by the above error before login prompt.

Pebkac? Hell, yeah. Pointers, anyone?

----------

## dsd

make sure nothing in /etc/modules.d refers to "device_mode"

----------

## jumpula

```
$ grep -HR device_mode /etc/modules.d/*

/etc/modules.d/alsa:options snd  device_mode=0666
```

----------

## dsd

that parameter is no longer valid - kill it

----------

## jumpula

Commented out.

With 2.6.13 now:

```
/usr/sbin/alsactl: set_control:894: warning: name mismatch (Line-In As Surround/Surround Jack Mode) for control #34

/usr/sbin/alsactl: set_control:896: warning: index mismatch (0/0) for control #34

/usr/sbin/alsactl: set_control:898: warning: failed to obtain information for control #34 (operation not permitted)
```

With 2.6.10 now:

```
/usr/sbin/alsactl: set_control:894: warning: name mismatch (Line-In As Surround/Surround Jack Mode) for control #34

/usr/sbin/alsactl: set_control:896: warning: index mismatch (0/0) for control #34

/usr/sbin/alsactl: set_control:994: bad.control.34.value type
```

Also, found a possible reason (not solution, though) for kdm's death.

2.6.10:

```
[drm] Initialized mga 3.1.0 20021029 on minor 0: Matrox Graphics, Inc. MGA G550 AGP

agpgart: Found an AGP 2.0 compliant device at 0000:00:00.0.

agpgart: Putting AGP V2 device at 0000:00:00.0 into 1x mode
```

2.6.13:

```
[drm] Initialized mga 3.1.0 20021029 on minor 0: Matrox Graphics, Inc. MGA G550 AGP

[drm:drm_unlock] *ERROR* Process 15984 using kernel context 0

kdm: :0[15988]: IO Error in XOpenDisplay

kdm[15981]: X server for display :0 terminated unexpectedly

kdm[15981]: Display :0 cannot be opened

kdm[15981]: Unable to fire up local display :0; disabling.
```

----------

## dsd

ignore the alsa errors, they go away after the first time as long as you dont keep switching between kernel versions

you'll need to look in your X logs to find out whats up with drm (probably just a kernel configuration error)

----------

## jumpula

But if I have a working configuration, copy it to the kernel source directory, run make oldconfig and compile with no new modifications, it breaks.

kdm.log says the following:

```
FATAL: Module mga not found.

[drm] failed to load kernel module "mga"

(EE) MGA(0): [drm] DRIScreenInit failed.  Disabling DRI.

(EE) xf86OpenSerial: Cannot open device /dev/mouse

        No such file or directory.

(EE) Mouse0: cannot open input device

(EE) PreInit failed for input device "Mouse0"

No core pointer

Fatal server error:

failed to initialize core devices
```

----------

## dsd

using "oldconfig" from one major kernel release to another is not recommended

FATAL: Module mga not found.

[drm] failed to load kernel module "mga" 

theres one module that you are missing - but thats probably not essential

(EE) xf86OpenSerial: Cannot open device /dev/mouse

        No such file or directory.

(EE) Mouse0: cannot open input device 

you should use /dev/input/mice

----------

## jumpula

 *Quote:*   

> using "oldconfig" from one major kernel release to another is not recommended

 

Why? If the versions are way off you have to answer a lot of questions, granted, but I see no other problem. Usually I do menuconfig after that anyway and do the real configuration then.

 *Quote:*   

> FATAL: Module mga not found.
> 
> [drm] failed to load kernel module "mga"
> 
> theres one module that you are missing - but thats probably not essential 

 

Yup. The /dev/input/mice did it, thanks!  :Smile: 

However, I don't see how can I be missing the drm module, since

```
$ find /lib/modules/2.6.10 -name mga\*

/lib/modules/2.6.10/kernel/drivers/char/drm/mga.ko

$ find /lib/modules/2.6.13 -name mga\*

/lib/modules/2.6.13/kernel/drivers/char/drm/mga.ko
```

And the agpart was in 1x mode to begin with...  :Sad: 

----------

## dsd

i dont recommend oldconfig between a major kernel change because too much changes between each kernel release, and the fact that it explicitly highlights the changes in the configuration often results in users making the wrong decision for a certain option because they dont fully understand it. (a few examples: localversion, initramfs_source, vfat codepages, ub)

we used to get a lot of bugs, mail, and forum threads as a result of people copying .config files over where these problems wouldnt have appeared if they had started from a fresh config. i used to collect url's for these to make a point but i got bored eventually  :Wink: 

----------

## jumpula

I see.

Anyway, now my newly compiled 2.6.14-ck1 works without any problem. Thanks for the tips  :Smile: 

----------

