How do I REbuild OpenSuse kernels?

2

I am trying to install some patches and drivers needed for a wifi card, but im getting an error that says: "build your kernel with CONFIG_LIBIPW=m."

How can I recompile the kernel to add that?

And can I do it without having to download a new kernel package? (i mean recompiling the existing kernels)

ldabl

Posted 2010-10-12T21:11:42.207

Reputation: 97

Answers

1

It can be done, but the chances of bricking your system are not small. So be warned.

  1. Install the kernel-source package
    1. rug in kernel-source
    2. Or open Yast -> Software Management. Install the 'kernel source' package.
  2. Open a command-prompt as root
  3. CD to /usr/src/linux
  4. cp /proc/config.gz
  5. gunzip config.gz
  6. cp config .config
  7. Open .config in editor-of-choice
  8. Look for the CONFIG_LIBIPW line

Note: You may find that it is ALREADY set to "m". In that case, stop now as something else is your problem.

  1. Change it from n to m
  2. Save .config
  3. make prepare
  4. make oldconfig
  5. make M=/drivers/net/
  6. make install
  7. reboot

SysAdmin1138

Posted 2010-10-12T21:11:42.207

Reputation: 5 239

I dont have any /usr/src/linux, I do have /usr/src/linux-KERNELVERSION-obj/, but there I dont see all the usual folders+files of /usr/src/linux, I only see two folders (i386 & i586) and inside those folders there are only 2 files, im using OpenSuse 10.3 (logged as root). – ldabl – 2010-10-12T22:05:43.510

Oh, 10.3. That's pretty old. I'll what I can remember. – SysAdmin1138 – 2010-10-12T22:11:20.903

1

rug is long gone. The proper way is:

  1. grab some sources. There are many ways, such as pulling from the SUSE kernel git tree, but that's a download of course. zypper in kernel-source, provided that you are ok with that it may download that somewhere.

  2. rsync -HPSav /usr/src/linux-2.the version you chose/ ~/linux/

  3. go into the directory and use make cloneconfig/menuconfig/etc. Do not run the commands in /usr/src/ or root, as that can break KMP building for that kernel. make prepare is redundant, as is oldconfig when menuconfig/etc has already been run.

  4. make M=/drivers/net is no sufficient, because System.map needs to exist first. Just run make, or incomplete objects may be manufactured.

  5. make install seems to still fiddle around with LILO, almost nobody uses this make target. Copy the stuff by hand.

user55078

Posted 2010-10-12T21:11:42.207

Reputation: 131