Choosing the correct kmp-package for your installation

If you have a device not supported by the standard kernel but by an external driver module (aka “out of tree module”) and there are “kmp”-packages available, you will have to choose the correct one matching your installation.

Very often you will find several packages called

something-kmp-default-*some strange numbers-i586.rpm

or

something-kmp-xen-some strange numbers-x86_64.rpm

and so on.

Many new users don’t know which one to pick, so they choose all of them and end up YaST installing a lot of new kernel packages (which is not a bug, YaST is doing this to fulfill dependencies needed by non-matching kmp-packages) they don’t really need.

So how can you find out, which package is the right one?

Open a terminal window and type:


uname -r

cat /etc/SuSE-release

This will give you

  • the version of your running kernel (2.6.something)

  • the “flavor” of your kernel (default, pae, bigsmp …)

  • the version of openSUSE you are using (10.3, 11.1 …)

  • the architecture of your system (i586, x86_64)

With this information, you will be able to choose the correct package and avoid the installation of unneeded kernel packages.

Here a little example.

  • You have openSUSE 11.0 and a wireless card (yes, what else would I choose for an example?) and it does not work.

  • You read the stickies in the wireless subforum (OK, this is the unrealistic part, most newbies don’t do that) and you post the following outputs asking for help:


/sbin/lspci -nn |grep -i net

01:00.0 Network controller: RaLink RT2860 [1814:0781]
  • Somebody gives you this link as an answer:

Webpin

  • You find a lot of packages and don’t know which one to install

  • You use the above mentioned commands and get:


uname -r

2.6.25.20-0.1-default

cat /etc/SuSE-release

openSUSE 11.0 (x86_64)
VERSION = 11.0

So you have

kernel version = “2.6.25.20-0.1”

kernel flavor = “default”

openSUSE version = “11.0”

architecture = “x86_64”

A correct package will contain

rt2860sta-kmp-default (flavor)

2.6.25.20-0.1 (kernel version)

x86_64.rpm (architecture)

and you will find it in a repository for openSUSE 11.0.

This here would be a matching package:

rt2860sta-kmp-[b]default-1.8.0.0_2.6.25.20_0.1-25.1.x86_64.rpm

These ones would not match (reason in bold letters):

rt2860sta-kmp-debug-1.8.0.0_2.6.25.20_0.1-25.1.x86_64.rpm

rt2860sta-kmp-default-1.8.0.0_2.6.27.21_0.1-4.1.x86_64.rpm

rt2860sta-kmp-default-1.8.0.0_2.6.25.20_0.1-25.1.i586.rpm

So with two simple commands and opening your eyes, you will always pick the right package.